[英]Given an array of arrays, how can I replace all empty values with 0?
示例數組
$myArray[0] = array('23', null, '43', '12');
$myArray[1] = array(null, null, '53', '19');
$myArray[2] = array('12', '13', '14', null);
所有的空值都應替換為0。我希望有人能夠以一種有效的方式進行此操作,也許是我不知道的內置PHP函數。
您可以使用array_walk_recursive
函數,以及將null
替換為0
的回調函數。
例如,考慮數組的聲明方式如下:
$myArray[0] = array(23, null, 43, 12);
$myArray[1] = array(null, null, 53, 19);
$myArray[2] = array(12, 13, 14, null);
注意:我以為您輸入錯誤,並且數組不只包含一個字符串,而是幾個子元素。
您可以使用以下代碼:
array_walk_recursive($myArray, 'replacer');
var_dump($myArray);
使用以下回調functon:
function replacer(& $item, $key) {
if ($item === null) {
$item = 0;
}
}
注意 :
===
運算符進行比較
然后您將獲得以下輸出:
array
0 =>
array
0 => int 23
1 => int 0
2 => int 43
3 => int 12
1 =>
array
0 => int 0
1 => int 0
2 => int 53
3 => int 19
2 =>
array
0 => int 12
1 => int 13
2 => int 14
3 => int 0
如果單引號是無意的,並且數組具有整數和空值:
for ($i = 0; $i < count($myArray); $i++)
{
if ($myArray[$i] == null) $myArray[$i] = 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.