Как кешировать чтения?

Ах, без рекурсии !!! даже карта, уменьшить, фильтр включает рекурсию. Это невозможно, если вы не используете некоторые хакские php-пути, как показано ниже. Серьезно, ни один цикл не задействован в коде ниже, извините, если он убил хорошие функции массива :):)

$arr=array(1,2,array(3,4, array(5,6,7), 8), 9);
$json=json_encode($arr);
$hacked_json=str_replace(['[',']'],"",$json);
$hacked_array=json_decode('['.$hacked_json.']');
echo "<pre>";
print_r($hacked_array);

output

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 1
    [5] => 2
    [6] => 6
    [7] => 7
    [8] => 8
    [9] => 9
)

работает для пары вложенных ключевых значений как скважина

$arr=array(1,2,array(3,4, array(array("s"=>array(1),"w"=>array('q'=>1,'v'=>12)),6,7), 8), 9);
echo "<pre>";
print_r($arr);
$json=json_encode($arr);
$hacked_json=str_replace(['[',']'],"",$json);
$hacked_array=json_decode('['.$hacked_json.']');
echo "<pre>";
print_r(json_decode(json_encode($hacked_array), True));

выход

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => Array
        (
            [s] => 1
            [w] => Array
                (
                    [q] => 1
                    [v] => 12
                )

        )

    [5] => 6
    [6] => 7
    [7] => 8
    [8] => 9
)
14
задан zx8754 14 February 2018 в 07:53
поделиться