Вы можете использовать функцию 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);
Со следующей функцией обратного вызова:
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