2017-12-19 13 views
0

私の配列を変更したいのですが、どうすればこのような変更を行うことができますか?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 ) );

に:また、直接キーと値とのいずれかを開始することができる

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

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

入力と出力を正しくフォーマットできますか? – FirstOne

答えて

5

あなたは直接連想配列に要素を追加することができ:

$result = [ 
    $post_id => $assoc_array 
]; 
PHP documentation for arraysに記載されているようではない任意の変数は、キーとして使用することができることに注意してください:

キーは、整数または文字列のいずれかとすることができます。値はどのタイプでもかまいません。