php判斷數組是否為空
A. php判斷數組元素是否存在
1、採用in_array(value,array,type)
type 可選。如果設置該參數為 true,則檢查搜索的數據與數組的值的類型是否相同。
$arr = array('可以','如何','方法','知道','沒有','不要');
//in_array(value,array,type)
$isin = in_array("如何2",$arr);
if($isin){
echo "in====".$isin;
}else{
echo "out====".$isin;
}
2、
array_key_exists 'array_key_exists() 函數判斷某個數組中是否存在指定的 key,如果該 key 存在,則返回 true,否則返回 false。array_key_exists(key,array
3、array_search() 函數與 in_array() 一樣,在數組中查找一個鍵值。如果找到了該值,匹配元素的鍵名會被返回。如果沒找到,則返回 false。array_search(value,array,strict),當數據量比較大的時候,用array_key_exists比較合適,但佔用的內存比較大,
數組結構是: array(1, 2, 3, ..)和 array(1 => true, 2 => false, ..),內存使用比值為1:2。
具體跟內部實現有關系,在php中第一種和第二種的數據結構類似,都是關聯數組。
B. php多行表單數據插入資料庫,怎麼判斷$_POST[...]數組是否為空
if(empty($_POST['one'])){
echo"空";
}else{
echo"不空";
}
C. php 中 判斷數組中是否有值
如果我沒有猜錯的話,你的
$temp
=
array(
array(),
array(),
);
是這樣的,包含很多空的數組,那麼這樣的判斷肯定不行,你可以這樣判斷
if(!empty(array_filter($temp)))
這樣就會把
$temp
中空的數組剔除了
D. php 判斷數組內所有元素是否為空
empty($value);
$value 可以是字元串,數字,數組,如果傳入空字元串'',或者數字0,或者空數組array(),返回值都是true,如果數組是array('a'=>array())則返回false,如果判斷的數組是後面的情況,則:
$is_empty=true;
foreach($arrayas$a){
if(!empty($a)){
$is_empty=false;
break;
}
}
E. 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;
}
F. php中如何判定一個數組是否為空
數組為空.指的是數組裡面沒有包含任何元素.
判斷數組為空的方式有很多種:以下 一一列出來
empty($array_test) //如果數組$array_test為空那麼這個函數返回true
if($array_test) //如果數組為空.那麼if的條件判斷為false
count($array_test) //計算數組元素個數.為0就是空
sizeof($array_test) //count() 的別名 用法和返回一樣
//實際上還有一些方式可以判斷數組是否為空.常用的就是這些
補充一下
如果數組沒有被定義
還可以使用
isset($array_test)//判斷數組是否被定義
G. thinkphp 返回數組空怎麼判斷
PHP判斷數組為空首選方法:count($arr),size($arr);
$arr= array("");
echo count($arr);
echo size($arr);
//輸出1
$arr= array();
echo count($arr);
echo size($arr);
//輸出0
PHP判斷數組為空方法2:empty($arr);
$arr= array("");
$result = empty($arr);
//$result = false
$arr = array();
$result = empty($arr);
//$result = true
H. 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;
}
I. php 中 判斷數組中是否有值
php 中 判斷數組中是否有值,可以先把一個數組賦值給一個變數,然後用empty函數判斷,這個變數是否為空,如果為空則代表數組沒有值,如果為非空則代表有值。
<?php
$array=array();
if(empty($array)){
echo "則代表沒有值";
}else{
echo "有值"
}
J. php判斷一個數組為空if好,還是if
1. isset功能:判斷變數是否被初始化
說明:它並不會判斷變數是否為空,並且可以用來判斷數組中元素是否被定義過注意:當使用isset來判斷數組元素是否被初始化過時,它的效率比array_key_exists高4倍左右PHP
<?php
$a = '';
$a['c'] = '';
if (!isset($a)) echo '$a 未被初始化' . "";if (!isset($b)) echo '$b 未被初始化' . "";if (isset($a['c'])) echo '$a 已經被初始化' . "";// 顯示結果為
// $b 未被初始化
// $a 已經被初始化
<?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
<?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 為空' . "";
<?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 為空' . "";
3. var == null功能:判斷變數是否為」空」
說明:值為 0 或 false 或 空字元串」」 或 null的變數、空數組、都將判斷為 null注意:與empty的顯著不同就是:變數未初始化時 var == null 將會報錯。
PHP
<?php
$a = 0;
$b = array();
if ($a == null) echo '$a 為空' . "";
if ($b == null) echo '$b 為空' . "";
if ($c == null) echo '$b 為空' . "";
// 顯示結果為
// $a 為空
// $b 為空
// Undefined variable: c
<?php
$a = 0;
$b = array();
if ($a == null) echo '$a 為空' . "";
if ($b == null) echo '$b 為空' . "";
if ($c == null) echo '$b 為空' . "";
// 顯示結果為
// $a 為空
// $b 為空
// Undefined variable: c
4. is_null功能:檢測變數是否為」null」
說明:當變數被賦值為」null」時,檢測結果為true注意1:null不區分大小寫:$a = null; $a = NULL 沒有任何區別注意2:僅在變數的值為」null」時,檢測結果才為true,0、空字元串、false、空數組都檢測為false注意3:變數未初始化時,程序將會報錯
PHP
<?php
$a = null;
$b = false;
if (is_null($a)) echo '$a 為NULL' . "";
if (is_null($b)) echo '$b 為NULL' . "";
if (is_null($c)) echo '$c 為NULL' . "";
// 顯示結果為
// $a 為NULL
// Undefined variable: c
<?php
$a = null;
$b = false;
if (is_null($a)) echo '$a 為NULL' . "";
if (is_null($b)) echo '$b 為NULL' . "";
if (is_null($c)) echo '$c 為NULL' . "";
// 顯示結果為
// $a 為NULL
// Undefined variable: c
5. var === null功能:檢測變數是否為」null」,同時變數的類型也必須是」null」
說明:當變數被賦值為」null」時,同時變數的類型也是」null」時,檢測結果為true注意1:在判斷為」null」上,全等於和is_null的作用相同注意2:變數未初始化時,程序將會報錯
總結:
PHP中,」NULL」 和 「空」 是2個概念。
isset 主要用來判斷變數是否被初始化過
empty 可以將值為 「假」、」空」、」0″、」NULL」、」未初始化」 的變數都判斷為TRUEis_null 僅把值為 「NULL」 的變數判斷為TRUEvar == null 把值為 「假」、」空」、」0″、」NULL」 的變數都判斷為TRUEvar === null 僅把值為 「NULL」 的變數判斷為TRUE注意:在判斷一個變數是否真正為」NULL」時,大多使用 is_null,從而避免」false」、」0″等值的干擾。