php刪除數組中的空值或指定值操作
來源:程序員人生 發布時間:2014-04-30 13:15:15 閱讀次數:3709次
首先我們來看看關于php如何操作數組中的空值的多種方法
一,implode();
用implode()將數組輸出為字符串,判斷輸出的字串是否為空。初看上去似乎是個不錯的方法,可惜跟上一點一樣,對于二維以上數組就不行了。舉個例子:
- $arr= array(array(),array(),array());
- $str = implode(',',$arr);
- if(emptyempty($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(emptyempty($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;
- }
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈