PHP는 다양한 함수를 통해 0과 빈 PHP 인스턴스를 결정합니다.

jacklove
풀어 주다: 2023-04-01 18:32:02
원래의
2098명이 탐색했습니다.

이 기사에서는 PHP에서 0과 비어 있음을 판단하는 방법과 다양한 기능을 소개합니다. 관심 있는 친구는 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
로그인 후 복사

추가: 0이 같지 않다는 문제에 대한 해결책을 소개하겠습니다. 에 null in PHP 구문

오늘 이런 문제가 발생했습니다. php 문에서 값이 0보다 크거나 같은지 확인하고 싶습니다. 저는 ($value !=null && $value &gt를 사용합니다. ;=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

결과:

A: 0B: C: 1

D:

값 [ 배열은 비어 있을 수 있습니다. 등] 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가 반환됩니다. 🎜🎜🎜🎜🎜당신이 관심을 가질 수 있는 기사: 🎜🎜🎜php iPhone으로 찍은 거꾸로 뒤집힌 사진 인식 php 팁 🎜🎜🎜🎜🎜PHP 로그인 확인 코드 확인 기능 구현 PHP 예제 🎜🎜🎜🎜🎜방법 Windows 환경 Composer🎜🎜🎜🎜🎜🎜🎜🎜🎜를 사용하여 ThinkPHP5 설치

위 내용은 PHP는 다양한 함수를 통해 0과 빈 PHP 인스턴스를 결정합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿