php에서는 0은 비어 있는 것으로 취급됩니까?
자세한 내용은 코드를 참조하십시오.
$var = 0;
if (!empty($var)){
echo "Its not empty";
} else {
echo "Its empty";
}
결과는 "Its empty"를 반환합니다.empty()는 변수를 이미 설정했는지, 값이 안에 있는지 확인할 것이라고 생각했습니다."Its Empty"를 반환하는 이유:
다음 항목은 비어 있는 것으로 간주됩니다.
- " (빈 문자열)
- 0(정수로 0)
- 0.0(플로트로서 0)
- '0' (문자열로서 0)
- 특수한 순서
- 거짓의
- array()(빈 배열)
- var $var;(클래스에 값을 포함하지 않고 선언된 변수)
은 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 부울 false
empty
말하면!isset($var) || !$var
. 대신 해봐.
나는 왜 아무도 매우 편리한 타입 비교표를 제안하지 않았는지 궁금했다.공통 함수 및 비교 연산자에 대한 모든 질문에 대한 답변을 제공합니다.
개요:
Expression | empty($x)
----------------+--------
$x = ""; | true
$x = null | true
var $x; | true
$x is undefined | true
$x = array(); | true
$x = false; | true
$x = true; | false
$x = 1; | false
$x = 42; | false
$x = 0; | true
$x = -1; | false
$x = "1"; | false
$x = "0"; | true
$x = "-1"; | false
$x = "php"; | false
$x = "true"; | false
$x = "false"; | false
다른 체크 시트들과 함께, 나는 잘 모를 경우를 대비해 항상 이 테이블의 하드 카피를 책상 위에 보관하고 있다.
숫자 값의 경우 is_numeric 함수를 사용해야 합니다.
$var = 0;
if (is_numeric($var))
{
echo "Its not empty";
}
else
{
echo "Its empty";
}
대신 사용하세요.일부 변수에 대해 1/0 값을 사용하여 동일한 문제를 발견했습니다.사용하고 있다if (strlen($_POST['myValue']) == 0)
내 변수에 문자가 있는지 없는지를 테스트합니다.
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★우리가 자주 다루는 문제는 설정되지 않은 변수입니다. 예를 들어 폼 요소가 존재했을 수도 있고 존재하지 않았을 수도 있지만 많은 요소에 대해서는0
('문자열')'0'
이는 투고를 통해 보다 정확하게 전달되지만 여전히 "허위"로 평가될 수 있습니다.)는 드롭다운 목록에 있는 정당한 값입니다.
를 사용합니다.empty()
strlen()
할 때 좋아요 이렇게.
if(!empty($var) && strlen($var)){
echo '"$var" is present and has a non-falsey value!';
}
언어학적 관점에서 공허는 가치가 없다는 것을 의미한다.다른 사람들이 말했듯이isset()
변수가 정의되어 있는지 확인하기 위해 사용합니다.
empty()
이 평가되는 모든 것에 대해 true를 반환합니다.FALSE
은 '요'입니다!
변장하고 있습니다.내 생각엔 네가 말한 것 같은데
을 , 「0」을 사용합니다.isset
변수가 비어 있는지 확인합니다.
$var = 0;
if ($var == '') {
echo "empty";
} else {
echo "not empty";
}
//output is empty
변수 설정 여부 확인
$var = 0;
if (isset($var)) {
echo "not empty";
} else {
echo "empty";
}
//output is not empty
나한텐 효과가 있어!
//
if(isset($_POST['post_var'])&&$_POST['post_var']!==''){
echo $_POST['post_var'];
}
//results:
1 if $_POST['post_var']='1'
0 if $_POST['post_var']='0'
skip if $_POST['post_var']=''
다음 항목은 비어 있는 것으로 간주됩니다.
- " (빈 문자열)
- 0(정수로 0)
- '0' (문자열로서 0)
- 특수한 순서
- 거짓의
- array()(빈 배열)
- var $var;(클래스에 값을 포함하지 않고 선언된 변수)
의 경우$var
0
, (그래서)empty($var)
true
를 부정하기 되어 '부정'이 됩니다Its empty
출력으로 사용합니다.
매뉴얼에서:var의 값이 비어 있지 않고 0이 아닌 경우 FALSE를 반환합니다.
다음 항목은 비어 있는 것으로 간주됩니다.
- " (빈 문자열)
- 0(정수로 0)
- '0' (문자열로서 0) NULL
- FALSE array()(빈 배열) 변수
- $var;(클래스에 값이 없는 선언된 변수)
상세: http://php.net/manual/en/function.empty.php
실제로는 변수가 설정되는지 확인만 하면 됩니다.이 경우 변수가 실제로0인지 빈지 여부를 확인하려면 다음 예를 사용합니다.
$myVar = '';
if (empty($myVar))
{
echo "Its empty";
}
echo "<br/>";
if ($myVar===0)
{
echo "also zero!";
}
알림 $myVar==0은 빈 함수처럼 작동합니다.
if (empty($var) && $pieces[$var] != '0') {
//do something
}
내 경우에는 이 코드가 작동했다.
값이 설정되어 있는지 확인하려면 isset()을 사용해야 합니다.
empty는 empty를 의미합니다.무슨 말을 하든지.
할 때
$var = '';
$var = '0';
그런 것 같아요var_dump(empty($var));
거짓으로 속이다
된 것을 할 때는 항상 .isset($var)
번째
only only use($_POST['input_field_name'])!=0
!($_POST['input_field_name'])==0
0으로 하다
아직도 해명과 해결책을 찾는 사람들이 있는지 모르겠다.TRUE / FALSE / 1/0 입니다.
실제 가치를 표시하는 방법에 대해 2센트만 가져오고 싶습니다.
부울
TRUE로 FALSE로 하겠습니다.MySQL '''1 응답' 0으로 저장됩니다(실수하지 않으면 서버 메모리와 동일합니다).
따라서 값을 PHP로 표시하려면 값이 true(1)인지 false(0)인지를 확인하고 원하는 값을 "TRUE" 또는 "FALSE" 또는 "1" 또는 "0"으로 표시해야 합니다.
보다 큰 다른) 2, TRUE를 합니다.「 0 」 ( 른른른른 ) 。「 PHP will TRUE 」 will : 2 、 " ABC 」
비트, Tinyint
숫자 데이터 유형을 사용하는 경우 저장 방법은 동일합니다.
값을 표시하려면 PHP에 숫자로 처리하도록 지시해야 합니다.내가 찾은 가장 쉬운 방법은 그것에 1을 곱하는 것이다.
적절한 예데이터베이스에 int type 필드(예: 모바일 번호)를 만들고 폼을 통해 다음 데이터베이스에 대한 빈 값을 제출하거나 SQL을 사용하여 삽입하십시오. 이 필드는 int 유형이며 공백 또는 null로 저장할 수 없기 때문에 데이터베이스 0에 저장됩니다.따라서 비어 있지만 0으로 저장되므로 PHP를 통해 데이터를 가져오고 빈 값을 확인할 수 있습니다.그것은 매우 유용하고 논리적으로 정확하다.
0.00, 0.000, 0.0000 。0.0...0도 비어 있습니다.위의 예에서는 float, double, decimal 등의 다양한 유형의 값을 데이터베이스에 저장할 수도 있습니다(십진수에는 0.000 등의 다른 종류가 있습니다).
언급URL : https://stackoverflow.com/questions/2220519/in-php-is-0-treated-as-empty
'source' 카테고리의 다른 글
세그먼트 장애는 MariaDB c++ 커넥터와 regex를 사용할 때 발생합니다. (0) | 2023.01.19 |
---|---|
mysqld: dir를 데이터로 변경할 수 없습니다.서버가 기동하지 않는다 (0) | 2023.01.19 |
MariaDB 서버가 600초 후 클라이언트 접속 타임아웃 (0) | 2023.01.19 |
Python에서 Linux 콘솔 창 너비를 가져오는 방법 (0) | 2023.01.19 |
비트필드에서 비트 엔디안이 문제가 되는 이유는 무엇입니까? (0) | 2023.01.19 |