2017-10-19 7 views
1

2つの配列を結合しようとしています。連想配列と数値配列。 $new_array = array_combine($array1, $array2)。しかし、配列1から値を取り出し、新しい配列のキーとして設定します。これは、意味するものです。連想配列キーと数値配列値を持つ配列を作成するPHP

しかし、$ new_arrayのキーには$ array1のキーを使い、$ new_arrayの値には$ array2の値を使う必要があります。私は$ array2の値を$ array1にマージすることも検討しましたが、配列が同じキーを共有しないため、正しく動作しません。

ここは例です。

$array1 = "fname" => "NULL", "lname" => "NULL", "id" => "NULL"; 

$array2 = "john", "smith", "11123"; 

$new_array = "fname" => "john" , "lname" => "smith", id => "11123"; 

私はこのarray_combine(array_flip($array1), $array2);

を使用して考えていた。しかしNULLでarray_flip動作することはできません。そのような

+2

'ARR ay_flip() 'は正しい結果を得られません。おそらくあなたは' array_keys() 'を探しています –

+0

*他のオプションを探しています* - いくつかの謎? – RomanPerekhrest

答えて

3

利用array_keys代わりのarray_flip

$array1 = ["fname" => "NULL", "lname" => "NULL", "id" => "NULL"]; 

$array2 = ["john", "smith", "11123"]; 

$new_array = array_combine(array_keys($array1), $array2); 

print_r($new_array); 

出力:

​​

eval.in demo

1

あなたは単に反復して割り当てることができ

$i = 0; 
    foreach($array1 as $key=>$value){ 
    $new_array[$key]=> $array2[$i]; 
    $i++; 
    } 
関連する問題