根據用戶提交的內容,數組中的某些元素是空字符串。 我須要刪除那些元素。 我有這個: 數組
foreach($linksArray as $link) { if($link == '') { unset($link); } } print_r($linksArray);
但這是行不通的。 $linksArray
仍然具備空元素。 我也嘗試過使用empty()
函數,可是結果是同樣的。 函數
$myarray = array_filter($myarray, 'strlen'); //removes null values but leaves "0" $myarray = array_filter($myarray); //removes all null values
function trim_array($Array) { foreach ($Array as $value) { if(trim($value) === '') { $index = array_search($value, $Array); unset($Array[$index]); } } return $Array; }
我必須這樣作以保持(string)0的數組值 url
$url = array_filter($data, function ($value) { return (!empty($value) || $value === 0 || $value==='0'); });
我使用如下腳本從數組中刪除空元素 spa
for ($i=0; $i<$count($Array); $i++) { if (empty($Array[$i])) unset($Array[$i]); }
你能夠作 code
array_filter($array)
array_filter:「若是未提供回調,則將刪除全部等於FALSE的輸入項。」 這意味着值NULL,0,'0','',FALSE,array()的元素也將被刪除。 rem
另外一個選擇是作 字符串
array_diff($array, array(''))
這將刪除值爲NULL,''和FALSE的元素。 string
但願這能夠幫助 :) io
這是一個例子。 function
$a = array(0, '0', NULL, FALSE, '', array()); var_dump(array_filter($a)); // array() var_dump(array_diff($a, array(0))) // 0 / '0' // array(NULL, FALSE, '', array()); var_dump(array_diff($a, array(NULL))) // NULL / FALSE / '' // array(0, '0', array())
總結一下: