濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > php通過(guò)各種函數(shù)判斷0和空

php通過(guò)各種函數(shù)判斷0和空

熱門(mén)標(biāo)簽:寶安400電話(huà)辦理 沈陽(yáng)人工智能電銷(xiāo)機(jī)器人公司 智能外呼電銷(xiāo)系統(tǒng) h5 地圖標(biāo)注 拉薩打電話(huà)機(jī)器人 合肥外呼系統(tǒng)app 電銷(xiāo)機(jī)器人-快迭智能 高識(shí)別電銷(xiāo)機(jī)器人 哈爾濱400電話(huà)辦理到易號(hào)網(wǎng)

函數(shù)對(duì)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

對(duì)空的判斷

  $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

補(bǔ)充:下面給大家介紹下php 語(yǔ)法里0不等于null為空的解決辦法

今天遇到這樣一個(gè)問(wèn)題是這樣的: php 語(yǔ)句里,我想判斷一個(gè)值大于等于0. 我是使用 ($value !=null $value >=0), 返回的結(jié)果為空,這點(diǎn)真的好奇怪。

實(shí)驗(yàn)總結(jié):

php 語(yǔ)句如下:

$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>";//

結(jié)果:

A: 0
B:
C: 1
 D: 

要判斷一個(gè)數(shù)值[該數(shù)組可能為空等]大于等于0, 可用另外一個(gè)方法:  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);
 }

這個(gè)很奇怪,終于解決了。Mark 一下。

 總結(jié):php的語(yǔ)句稍有些怪異,從其它編程語(yǔ)言轉(zhuǎn)來(lái)的同學(xué)們一定多加小心謹(jǐn)慎,注意慣性思維及語(yǔ)法差異點(diǎn)啊,避免陷入坑中。

其它資料:

原因是在PHP中變量是以C語(yǔ)言的結(jié)構(gòu)體來(lái)存儲(chǔ)的,空字符串和NULL,false都是以值為0存儲(chǔ)的,其中這個(gè)結(jié)構(gòu)體有個(gè)zend_uchar type;這樣的成員變量,他是用來(lái)保存變量的類(lèi)型的,而空字符串的類(lèi)型是string,NULL的類(lèi)型是NULL,false是boolean。

這一點(diǎn)可以用echo gettype('');echo gettype(NULL);來(lái)打印看看!而===運(yùn)算符是不單比較值,還有比較類(lèi)型的,所以第三個(gè)為false!

另外再說(shuō)下,php中

=     一個(gè)等號(hào)是賦值
==    兩個(gè)等號(hào)是判斷相等且只比較值,不比較類(lèi)型
===   三個(gè)等號(hào)是判斷值和類(lèi)型都相等
!=    不等于符號(hào),只比較值,不管類(lèi)型
!==   不全等符號(hào),比較值和類(lèi)型

所以 空字符串(''),false, NULL 和 0是值相等而類(lèi)型不一樣!

注意:

NULL是一種特殊的類(lèi)型.

兩種情況下為NULL

 1. $var = NULL;
 2. $var;
3.""、0、"0"、NULL、FALSE、array()、var $var; 以及沒(méi)有任何屬性的對(duì)象都將被認(rèn)為是空的,如果 var 為空,則返回 TRUE。

PHP中區(qū)分0和空

function test()
{
  $a = 0;
  $b = '';
  $c = null;

  // 區(qū)分 0、''、null

  // 1、方法一
  if ($a !== '') {
    echo '0和null';
  } else {
    echo '空字符串';
  }

  // 2、方法二
  if ($a !== null) {
    echo '0和空字符串';
  } else {
    echo 'null';
  }

  // 3、方法三
  if (strlen($a) > 0) {
    echo '0';
  } else {
    echo '空字符串和null';
  }

  // 以上三種方法都只能把其中一個(gè)和另外兩個(gè)區(qū)分出來(lái),如果需要3個(gè)單獨(dú)區(qū)分,需要結(jié)合使用
}

到此這篇關(guān)于php通過(guò)各種函數(shù)判斷0和空的文章就介紹到這了,更多相關(guān)php 函數(shù)判斷0和空內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • PHP數(shù)字前補(bǔ)0的自帶函數(shù)sprintf 和number_format的用法(詳解)
  • PHP常用函數(shù)總結(jié)(180多個(gè))
  • PHP下使用mysqli的函數(shù)連接mysql出現(xiàn)warning: mysqli::real_connect(): (hy000/1040): ...
  • PHP中鮮為人知的10個(gè)函數(shù)
  • php用header函數(shù)實(shí)現(xiàn)301跳轉(zhuǎn)代碼實(shí)例
  • PHP header()函數(shù)使用詳細(xì)(301、404等錯(cuò)誤設(shè)置)
  • php set_time_limit(0) 設(shè)置程序執(zhí)行時(shí)間的函數(shù)
  • PHP使用trim函數(shù)去除字符串左右空格及特殊字符實(shí)例
  • PHP判斷是否為空的幾個(gè)函數(shù)對(duì)比
  • php中使用array_filter()函數(shù)過(guò)濾空數(shù)組的實(shí)現(xiàn)代碼
  • php empty函數(shù)判斷mysql表單是否為空
  • PHP 清除HTML代碼、空格、回車(chē)換行符的函數(shù)
  • php下幾個(gè)常用的去空、分組、調(diào)試數(shù)組函數(shù)

標(biāo)簽:成都 張家口 梅州 山東 林芝 威海 巴中 泰州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《php通過(guò)各種函數(shù)判斷0和空》,本文關(guān)鍵詞  php,通過(guò),各種,函數(shù),判斷,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《php通過(guò)各種函數(shù)判斷0和空》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于php通過(guò)各種函數(shù)判斷0和空的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    安西县| 元朗区| 新沂市| 舞钢市| 广昌县| 阜阳市| 牙克石市| 灯塔市| 德庆县| 蓝田县| 鄂伦春自治旗| 阳江市| 赞皇县| 金塔县| 五家渠市| 永嘉县| 礼泉县| 石城县| 兴安盟| 崇信县| 彭阳县| 卫辉市| 九龙城区| 砚山县| 江川县| 万载县| 芦山县| 张家界市| 满洲里市| 巨野县| 宁安市| 张家港市| 青神县| 土默特左旗| 江城| 龙门县| 巩留县| 潜山县| 盐源县| 蓬安县| 北辰区|