You could use the array_walk_recursive
function, with a callback function that would replace null
by 0
.
For example, considering your array is declared this way :
$myArray[0] = array(23, null, 43, 12);
$myArray[1] = array(null, null, 53, 19);
$myArray[2] = array(12, 13, 14, null);
Note : I supposed you made a typo, and your arrays are not containing only a string, but several sub-elements.
You could use this kind of code :
array_walk_recursive($myArray, 'replacer');
var_dump($myArray);
With the following callback functon :
function replacer(& $item, $key) {
if ($item === null) {
$item = 0;
}
}
Note that :
- the first parameter is passed by reference !
- which means modifying it will modify the corresponding value in your array
- I'm using the
===
operator for the comparison
And you'd get the following output :
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