我檢查數組值空或不喜歡以下內容:查找空數組的索引功能
長格式:
$empty = array();
foreach($array as $value)
if(empty($value)) $empty[] = $value;
預期的功能:
$empty = array_empty_values($array);
有沒有像array_empty_values()
任何功能找到空的數組索引?
我檢查數組值空或不喜歡以下內容:查找空數組的索引功能
長格式:
$empty = array();
foreach($array as $value)
if(empty($value)) $empty[] = $value;
預期的功能:
$empty = array_empty_values($array);
有沒有像array_empty_values()
任何功能找到空的數組索引?
使用array_filter PHP的內置功能
function filter_empty($var) {
return empty($var);
}
$result_array = array_filter($your_array, "filter_empty");
$your_array = array(1,'2','3',false,'');
$result_array = array_filter($your_array, "filter_empty");
echo print_r($result_array, true);
將打印
Array
(
[3] =>
[4] =>
)
如果您只需要索引可以使用array_keys內置函數
echo print_r(array_keys($result_array), true);
,將打印
Array
(
[0] => 3
[1] => 4
)
您需要用數組中的鍵,不與價值觀。因爲這些值是空的。
/**
* Get keys of empty array values
* @param array $array The array to check.
* @return array The keys of the empty values.
*/
array_empty_values($array) {
$empty = array();
foreach($array as $key => $value) {
if(empty($value)) {
$empty[] = $key;
}
}
return $empty;
}
如果要檢查和去除空數組元素可以用PHP檢查此功能array_filter()
array_filter接受一個數組作爲輸入,並刪除其是等於空/ 0的所有元素/ flase
啊,只是讀了這個問題,答案是:OP不想刪除他想要的數組中的空值 – Rizier123 2015-02-06 09:21:28
糟糕!我的壞:對不起。那麼我們可以使用'$ result_array = array_diff($ input,array_filter($ input));'這個片段來得到他想要得到的結果。 – 2015-02-06 09:25:46
@ Rizier123:沒有,是相反的:) – DonCallisto 2015-02-06 09:17:34
對不起,剛剛看到它:D(順便說一句:這個工作也是:'$ result_array = array_diff($ arr,array_filter($ arr));')那麼OP不必編寫額外的功能 – Rizier123 2015-02-06 09:18:58
@ Rizier123:是的,這是一個有效的替代 – DonCallisto 2015-02-06 09:20:21