2017-03-01 2 views
0

Ich versuche, Schlüssel in meinem Chunked-Array zu füllen. Array sieht wie folgt aus:Füllen von Schlüsseln zu Chunked-Array

{ 
    "0": [ 
    "yes", 
    "yes", 
    "no", 
    "no", 
    "no", 
    "no", 
    "no" 
    ], 
    "1": [ 
    "no", 
    "no", 
    "yes", 
    "no", 
    "no", 
    "no", 
    "no" 
    ], 
    "2": [ 
    "no", 
    "no", 
    "yes", 
    "no", 
    "no", 
    "no", 
    "no" 
    ] 
} 

Was soll ich tun, um mit Schlüssel jeder Array füllen von 1 bis 7

Mein Code sieht wie folgt aus:

function fillKeys($keys, $value) { 
    $return = array(); 
    foreach ($keys as $key => $val) { 
     $return[is_array($val) ? $key : $val] = is_array($val) ? fillKeys($val, $value) : $value; 
    } 
    return $return; 
} 

    $test = array(1, 2, 3, 4, 5, 6, 7); 

    $chunked = array_chunk($zones, 7); 

    $zone = array(); 
    foreach($chunked as $days) { 
     foreach($days as $value) { 
      $zone[] = fillKeys($test, $value); 
     } 

    } 

    return $zone; 

Ich habe versucht, verwenden array_fill_keys, aber ich bin immer die gleiche Ausgabe bekommen:

[ 
    { 
    "1": "yes", 
    "2": "yes", 
    "3": "yes", 
    "4": "yes", 
    "5": "yes", 
    "6": "yes", 
    "7": "yes" 
    }, 
    { 
    "1": "yes", 
    "2": "yes", 
    "3": "yes", 
    "4": "yes", 
    "5": "yes", 
    "6": "yes", 
    "7": "yes" 
    }, 
    { 
    "1": "no", 
    "2": "no", 
    "3": "no", 
    "4": "no", 
    "5": "no", 
    "6": "no", 
    "7": "no" 
    }... 

Jede Idee, wie ich die Ausgabe bekommen kann ich will?

+0

Ist es wirklich so wichtig, den Schlüssel jedes inneren Elements zu erhöhen? Woher kommen die Daten? Hinzufügen von 1 könnte logischer sein. – jeroen

+2

Fügen Sie am Anfang jedes Subarrays einen Dummy-Neueintrag hinzu, um die vorhandenen Schlüssel von 0-6 bis 1-7 zu mischen; dann lösche den Dummy-Schlüssel 0. 'array_walk ($ myArrayData, Funktion (& $ values) {array_unshift ($ Werte, 'DUMMY'); nicht gesetzt ($ values ​​[0]);});' –

Antwort

-1

die Sie interessieren,

$arr= [ 
    "0" => [ 
     "yes", 
     "yes", 
     "no", 
     "no", 
     "no", 
     "no", 
     "no", 
    ], 
    "1" => [ 
     "no", 
     "no", 
     "yes", 
     "no", 
     "no", 
     "no", 
     "no", 
    ], 
    "2" => [ 
     "no", 
     "no", 
     "yes", 
     "no", 
     "no", 
     "no", 
     "no", 
    ], 
]; 
array_walk($arr, function (&$values) { 
    array_unshift($values, 'Test'); 
    unset($values[0]); 
}); 
echo json_encode($arr); 

Hier ist Code arbeiten link

+0

Nun, es hat perfekt funktioniert! Danke an Sie und Mark Baker – ShabbyAbby

+0

Ihre herzlichste Kumpel – rahulsm

Verwandte Themen