2017-12-19 3 views
0

Ich möchte mein Array ändern, wie kann ich diese Art von einer Änderung machen.Wie ändert man die Array-Struktur des assoziativen Arrays in PHP

Array ( [0] => 53720 [1] => Array( ['Build Quality'] => 1=>10, 2=>9, 3=>7 ['Versatality'] => 1=>9, 2=>8, 3=>7 ['value'] => 1=>8, 2=>6, 3=>5 ) );

zu:

Array ( 53720 =>['Build Quality' => [1=>10, 2=>9, 3=>7], 'Versatality' => [1=>9, 2=>8, 3=>7], 'value' => [1=>8, 2=>6, 3=>5] ] );

function get_array(){ 

    $factor = array([0] => 'Build Quality' [1] => 'Versatality' [2] => 'Value'); 
    $rank = array([0] => 1=>10,2=>9,3=>7 [1] => 1=>9,2=>8,3=>7 [2] => 1=>8,2=>6,3=>5); 
    $assoc_array = array_combine($factor, $rank); 
    $post_id = get_current_post_id(); //gives 53720 
    $result = array(); 
    array_push($result, $post_id, $assoc_array); 
    print_r($result); 
    return $result[$post_id]; 

/* output: Array ([0] => 53720 [1] => Array (['Build Quality'] => 1=>10,2=>9,3=>7 ['Versatality'] => 1=>9,2=>8,3=>7 ['Value'] => 1=>8,2=>6,3=>5)) */ 
} 
+0

Können Sie bitte Eingang und Ausgang richtig formatieren? – FirstOne

Antwort

5

Sie können direkt Elemente zu einem assoziativen Array hinzuzufügen:

$result = []; 
$result[$post_id] = $assoc_array; 

auch eine mit Tasten initiieren kann und Werten direkt :

$result = [ 
    $post_id => $assoc_array 
]; 

Denken Sie auch daran, dass nicht jede Variable als Schlüssel verwendet werden kann, wie in den PHP documentation for arrays erklärte:

Der Schlüssel kann entweder eine ganze Zahl oder eine Zeichenfolge sein. Der Wert kann von jedem Typ sein.

Verwandte Themen