在進行陣列處理時,有時候我們需要將其中的空值去掉以便得到更準確的結果。以下介紹在 PHP 中如何操作數組,將其中的空值去掉。
PHP 中有許多函數可以操作數組,例如 unset()
、array_filter()
、array_values()
等等。其中unset()
函數用於刪除指定的變量,而array_filter()
函數可以過濾數組中的元素, array_values()
函數可以傳回所有數組的值。這些函數都可以用來去掉數組中的空值。下面我們來看看如何使用這些函數。
unset
函數可以用來刪除陣列中的指定元素。我們可以使用 foreach
迴圈遍歷數組,使用 unset
函數刪除其中的空值。
<?php $arr = array('aa', '', 'bb', null, 0, 'cc'); foreach($arr as $k=>$v){ if(!$v){ unset($arr[$k]); } }
透過遍歷數組,我們可以將其中的空值刪除。但要注意的是,使用 unset
函數後,陣列的鍵名是不連續的,也就是在陣列下標會存在空缺。
array_filter
函數可以將陣列中的元素依照指定規則過濾,傳回一個新的陣列。
<?php $arr = array('aa', '', 'bb', null, 0, 'cc'); $arr = array_filter($arr,function($v){ if($v === '' || $v === null || $v === 0){ return false; }else{ return true; } }); ?>
上面的程式碼中,我們使用array_filter
函數,傳入判斷函數,判斷數組的每個元素是否為空值,如果為空,則將其從數組中刪除。
array_values
函數可以將關聯數組中的鍵名去掉,並傳回索引數組。
<?php $arr = array('aa', '', 'bb', null, 0, 'cc'); $arr = array_filter($arr,function($v){ if($v === '' || $v === null || $v === 0){ return false; }else{ return true; } }); $arr = array_values($arr); ?>
上面的程式碼中,我們使用 array_values
函數,將傳回的陣列重新賦值給 $arr
,得到一個新的索引陣列。這樣就可以實現將原數組中的空值去掉的操作。
以上就是在 PHP 中如何將陣列中的空值去掉的方法了。我們可以透過使用 unset
函數來刪除指定元素,也可以使用 array_filter
函數過濾出非空元素,更可以使用 array_values
函數重新索引陣列。根據具體實際情況,選擇不同的方法來操作陣列。
以上是php怎麼將陣列的空值去掉的詳細內容。更多資訊請關注PHP中文網其他相關文章!