php字元串是否為空
Ⅰ 為什麼php傳遞參數值為0時,empty判斷參數為真
empty()函數是用來測試變數是否已經配置。若變數已存在、非空字元串或者非零,則返回 false 值;反之返回 true值。所以,當字元串的值為0時,也返回true,就是執行empty內部的語句。這就是陷阱。
如: 假設 $value = 0; 則empty($value)=false。
判斷字元串是否為空,可以這么判斷: if ($value=="") ...
(1)php字元串是否為空擴展閱讀:
以下的變數會被認為是空的:
"" (空字元串)
0 (作為整數的0)
0.0 (作為浮點數的0)
"0" (作為字元串的0)
NULL
FALSE
array() (一個空數組)
$var; (一個聲明了,但是沒有值的變數)
Ⅱ PHP中如何判斷一個字元串中是否有某個字元
PHP中如何判斷一個字元串中是否有某個字元,如下:
PHP語言是一個功能強大的嵌入式HTML腳本語言,它的易用性讓許多程序員選擇使用。PHP判斷字元串的包含,可以使用PHP的內置函數strstr,strpos,stristr直接進行判斷.也可以通過explode函數的絕圓作用寫一個判斷函數。
1. strstr: 返回一個從被判斷字元開始到結束的字元串,如果沒有返回值,則不包含
代碼如下:
< ?php
/*如手冊上的舉例*/
$email = '[email protected]';
$domain = strstr($email, '@');
echo $domain;
// prints @example.com
?>
2. stristr: 它和strstr的使用方法完全一樣.唯一的區別是stristr不區分大小寫.
3. strpos: 返回boolean值.FALSE和TRUE不用多說.用 「===」進行判斷.strpos在執行速度上都比以上兩個函數快,另外strpos有一稿檔個鍵宏亂參數指定判斷的位置,但是默認為空.意思是判斷整個字元串.缺點是對中文的支持不好.
PHP判斷字元串的包含代碼如下:
$str= 'abc';
$needle= 'a';
$pos = strpos($str, $needle);
4. 用explode進行判斷
PHP判斷字元串的包含代碼如下:
function checkstr($str){
$needle = "a";//判斷是否包含a這個字元
$tmparray = explode($needle,$str);
if(count($tmparray)>1){
return true;
} else{
return false;
}
}
Ⅲ PHP怎樣判斷一個數組中是否有的鍵值為空
一、for循環
簡單直接用for循環遍歷數組於已知維數數組判斷未知維數組該辦
二、implode();
用implode()數組輸字元串判斷輸字串否空初看似乎錯惜跟點於二維數組行舉例:
$arr= array(array(),array(),array());
$str = implode(',',$arr);
if(empty($str)) echo "空";
else echo "非空";
明顯$arr含三空數組二維數組應該算空輸確非空判斷失敗
三、count();
承認我先想函數網網友答案並已經解決問題請看面例:
$arr= array("","","");
echo count($arr);
四、in_array('', $arr));
說看例:
$arr= array("d","s","");
echo in_array('', $arr);
能說明數組空元素能證明數組空明顯行
五、empty();
cpyeh覺跟前面幾種差
$arr= array("","","");
if(empty($arr)) echo "空";
else echo "非空";
結非空
例加句print_r($arr);看看...
基本cpyeh能想加網找些明白網居提is_array()能php解需要翻翻手冊遺憾終找完美解決於般應用第種或第二種應該滿足cpyeh選便第二種例疑問歡迎留言互相交流
計:
判斷二維數組同幹掉些空:
$this->dataObj->getTotalScore(&$resultinfo,$uids);
$judge = implode("",$resultinfo);
if(!empty($judge))//數組空
{ //掉數組鍵值空
foreach($resultinfo as $key =>$getoutvisnull)
{
if(empty($getoutvisnull))
{
unset($resultinfo[$key]);
}
}
$allscorearray[] = $resultinfo;
}
Ⅳ PHP中空字元串介紹0,null,empty和false之間的關系
0 ,在所有計算機語言中,基本非0為真,0為假。0 == false
null 是空 這個很有意思。因為我也不知它是什麼類型的,但 null ==false是必然的。在if判斷是邏輯就是這樣
empty 這個也是很有意思是,因為這會出現很多陷阱。首先,empty對於一切未聲明定義的變數,直接返回true,對於已聲明的變數,如果是非空字元串 或 非0 返回false; 但是0的時候,它卻是返回真的。這個是出於什麼考慮我也不清楚。但它一直出乎我的邏輯。
總得關系就是
0==false ==null (empty是一個方法 ,所以不能跟變數作比較的。)
Ⅳ PHP中如何判斷字元串為空
<?php
if($a==null){
空
}
if($a==''){
空
}
echo"都可以啊";
Ⅵ PHP中,有沒有什麼方法能檢測出一個字元串中是否有空格呢
用preg_match函數,假設$str是你要檢測的字元串:
if (preg_match("/\s/", $str)) {
echo "Have Space.";
} else {
echo "Not have Space.";
}
Ⅶ php 判斷是否包含
要是指的是判斷一個字元串在另一個字元串是否包含?
方法一、使用strstr,strstr返回需要判斷是否被包含的字元開始到結束的字元串,如果沒有返回值,則不包含。
舉例,判斷是否包含字元「#」:
<?php
$str='abc#defg';
$in=strstr($str,'#');
echo $in;//輸出結果為:#defg
?>
方法二、使用stristr, 它的用法和strstr的完全一樣.唯一的區別是stristr不區分大小寫,而strstr區分大小寫。可以根據實際情況是否區分大小寫來使用。
方法三、使用strpos,但它對中文件的支持不是很好,它的返回值為boolean型,也就是true和false(真和假)。執行速度比stristr和strstr都快,strpos函數中有一個參數用於指定判斷的位置,默認為空,即判斷整個字元串。
下面看例子:
<?php
$str='bde';
$in='b';
$output=strpos($str,$in);
?>
方法四、將字元串用explode來拆分數組再判斷。如下:
function chstr($str,$in){
$tmparr = explode($in,$str);
if(count($tmparr)>1){
return true;
}else{
return false;
}
}
$str='abc#defg';
$in='#';//判斷是否包含#這個字元
$bh=chstr($str,$in);
if($bn){
echo '字元串'.$str.'包含'.$in;
}else{
echo '字元串'.$str.'不包含'.$in;
}
Ⅷ PHP 空數組和字元串0 ==比較為什麼是false
判斷PHP數組是否為空,具體有2種方法:
1:isset功能:判斷變數是否被初始化
說明:它並不會判斷變數是否為空,並且可以用來判斷數組中元素是否被定義過
注意:當使用isset來判斷數組元素是否被初始化過時,它的效率比array_key_exists高4倍左右
<?php
$a = '';
$a['c'] = '';
if (!isset($a)) echo '$a 未被初始化' . "";
if (!isset($b)) echo '$b 未被初始化' . "";
if (isset($a['c'])) echo '$a 已經被初始化' . "";
// 顯示結果為
// $b 未被初始化
// $a 已經被初始化
2:empty功能:檢測變數是否為」空」
說明:任何一個未初始化的變數、值為 0 或 false 或 空字元串」" 或 null的變數、空數組、沒有任何屬性的對象,都將判斷為empty==true
注意1:未初始化的變數也能被empty檢測為」空」
注意2:empty只能檢測變數,而不能檢測語句
<?php
$a = 0;
$b = '';
$c = array();
if (empty($a)) echo '$a 為空' . "";
if (empty($b)) echo '$b 為空' . "";
if (empty($c)) echo '$c 為空' . "";
if (empty($d)) echo '$d 為空' . "";