• Как правильно выполнить перебор массивов?

    usdglander
    @usdglander Куратор тега PHP
    Yipee-ki-yay
    По быстрому родилось какой то такое решение:
    function deployValues(&$base, $values) {
        
        $newBase = [];
        
        foreach ($values as $i => $value) {
            foreach ($base as $j => $baseValue) {
                $orig = is_array($baseValue) ? $baseValue : [$baseValue];
                array_push($orig, $value);
                $newBase[] = $orig;
            }
        }
        
        $base = $newBase;
    }
    
    $r = [
        'A' => [1, 2, 3],
        'B' => [10, 20, 30],
        'C' => [100, 200, 300],
        'D' => ['a', 'b', 'c', 'd'],
    ];
    
    $x = null;
    
    foreach ($r as $c) {
        if ($x === null) {
            $x = $c;
        } else {
            deployValues($x, $c);
        }
    }
    
    print_r($x);


    Не претендует на оптимальность формы и содержания, но основную суть отображает.
    Ответ написан
    1 комментарий