php刪除數組中的空值或指定值操作

來源:互聯網
上載者:User

首先我們來看看關於php如何運算元組中的空值的多種方法

implode(); 此函數可參考http://www.111cn.net/phper/29/2dc95be9381b4bb1753083c09fda1a36.htm
用implode()將數組輸出為字串,判斷輸出的字串是否為空白。初看上去似乎是個不錯的方法,可惜跟上一點一樣,對於二維以上數組就不行了。舉個例子:

 代碼如下 複製代碼

$arr= array(array(),array(),array());
$str = implode(',',$arr);

if(empty($str)) echo "空";
else echo "非空";

很明顯$arr是個含有三個空數組的二維數組,應該也算是空的,可是輸出的確是非空。判斷失敗。
三、count(); 可參考http://www.111cn.net/w3school/php/func_array_count.htm

 代碼如下 複製代碼

$arr= array("","","");
echo count($arr);

四、in_array('', $arr)); 函數用法可參考http://www.111cn.net/phper/24/c5b81a8af14b1c0928eea343f59b454a.htm

 代碼如下 複製代碼
$arr= array("d","s","");
echo in_array('', $arr);

這個只能說明數組中有空的元素,不能證明數組是空的。很明顯也不行。
五、empty(); 函數用法可參考http://www.111cn.net/so/php+empty()
這個cpyeh覺得跟前面幾種方法差不多

 代碼如下 複製代碼

$arr= array("","","");
if(empty($arr)) echo "空";
else echo "非空";

結果還是非空
六、用strlen(),沒內容的話好象長度都為1

結合上面執行個體我們寫一個完整的刪除數組空值的元素

 代碼如下 複製代碼

function array_remove_key($array, $keys)
{
$num = count($keys);
$num_last = $num - 1;
$this_array_0 = &$array;
$last_key = $keys[$num_last];
for ($i = 0; $i < $num_last; $i++)
{
$this_key = $keys[$i];
$this_var_name = 'this_array_' . $i;
$next_var_name = 'this_array_' . ($i + 1);
if (!array_key_exists($this_key, $$this_var_name)) {
break;
}
$$next_var_name = &${$this_var_name}[$this_key];
}
unset(${$next_var_name}[$last_key]);
return $array;
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.