- array_unshift: documentation ( source)
- json_encode: documentation ( source)
<?php
$array = [0, 1, 2];
$ref =& $array; // Necessary to trigger the old behavior
$i = 0;
foreach ($array as $k => &$val) {
$i++;
echo $val . ' ';
if($i < 5 && !isset($array[$i])) $array[$i] = $val+1;
if($i == 2) array_unshift($array, 'X');
}
echo PHP_EOL . json_encode($array);