이 글에서는 주로 PHP가 다양한 함수를 통해 0과 비어 있음을 결정하는 방법을 소개합니다. 이제 특정 참조 값을 가지고 있으므로 도움이 필요한 친구들이 참고할 수 있습니다.
$cast_id = 0; var_dump(strlen($cast_id)); //1 var_dump(empty($cast_id)); // true var_dump(isset($cast_id)); //true var_dump(is_null($cast_id));//false
null 판정
$cast_id = ""; var_dump(strlen($cast_id)); //0 var_dump(empty($cast_id)); // true var_dump(isset($cast_id)); //true var_dump(is_null($cast_id));//false추가: PHP 구문에서 0이 null이 아닌 문제에 대한 해결책을 소개하겠습니다
오늘 다음과 같은 문제가 발생했습니다. PHP 문에서 값이 0보다 크거나 같은지 확인하고 싶습니다. ($value !=null && $value >=0
)을 사용했는데 반환된 결과는 비어 있습니다. , 정말 이상해요.
$value !=null && $value >=0
), 返回的结果为空,这点真的好奇怪。
实验总结:
php 语句如下:
$index=0; echo "A: ".$index."<br>"; //0 echo "B: ".($index !=null && $index >=0)."<br>";// echo "C: ".(isset($index) && $index >=0)."<br>";//1 echo "D: ".(0 !=null)."<br>";//
结果:
A: 0 B: C: 1 D:
要判断一个数值[该数组可能为空等]大于等于0, 可用另外一个方法: is_numeric($index) === true
$index=array_search($url, $contentOtherStr, true); //值大于等于0, 即存在 if(is_numeric($index) === true) { echo "$url existed. "."<br>"; }else{ echo "$url Add. "."<br>"; array_push($contentOtherStr, $url); }
这个很奇怪,终于解决了。Mark 一下。
总结:php的语句稍有些怪异,从其它编程语言转来的同学们一定多加小心谨慎,注意惯性思维及语法差异点啊,避免陷入坑中。
其它资料:
原因是在PHP中变量是以C语言的结构体来存储的,空字符串和NULL,false都是以值为0存储的,其中这个结构体有个zend_uchar type;这样的成员变量,他是用来保存变量的类型的,而空字符串的类型是string,NULL的类型是NULL,false是boolean。
这一点可以用echo gettype('');
和echo gettype(NULL);
php 문은 다음과 같습니다.
결과:
rrreee
값[배열이 비어 있을 수 있음 등]이 0보다 크거나 같은지 확인하려면 다른 방법을 사용하세요. 사용할 수 있습니다: is_numeric($ index) === true
rrreee
이것은 매우 이상하며 마침내 해결되었습니다. 표시.
요약: PHP의 구문이 조금 이상합니다. 다른 프로그래밍 언어에서 전학한 학생들은 함정에 빠지지 않도록 관성적 사고와 문법적 차이에 더 주의하고 주의해야 합니다.
기타 정보:
이유는 PHP의 변수가 C 언어 구조에 저장되기 때문입니다. 빈 문자열, NULL 및 false는 모두 0 값으로 저장됩니다. 이 구조에는 zend_uchar 유형이 있습니다. 변수의 유형을 저장하는 데 사용되며, 빈 문자열의 유형은 문자열, NULL의 유형은 NULL, false는 부울입니다.
echo gettype('');
및 echo gettype(NULL);
을 사용하여 인쇄할 수 있습니다! === 연산자는 값을 비교할 뿐만 아니라 유형도 비교하므로 세 번째는 false입니다! 또한 PHP에서는 = 하나의 등호가 대입됩니다== 두 개의 등호는 같음을 결정하는 데 사용되며 유형이 아닌 값만 비교합니다
=== 세 개의 등호는 두 값이 모두 일치하는지 확인하는 데 사용됩니다. 및 유형은 같음
!== 같지 않음 기호, 값과 유형 비교
So
빈 문자열(''), false, NULL 및 0은 동일한 값입니다. 종류가 다르지만! 참고:
🎜NULL은 특수 유형입니다. 🎜🎜두 가지 경우에 NULL입니다.🎜🎜 1. $var = NULL;🎜 2. $var;🎜3."", 0, "0", NULL , FALSE , array(), var $var; 및 속성이 없는 객체는 비어 있는 것으로 간주됩니다. var가 비어 있으면 TRUE가 반환됩니다. 🎜🎜🎜관련 권장사항: 🎜🎜🎜템플릿에 대한 할당() 배열 할당 및 템플릿에 대한 extract() 변수 할당을 구현하는 PHP 사용자 정의 함수🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜위 내용은 PHP는 다양한 함수를 통해 0과 비어 있음을 판별합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!