2017-03-23 7 views
0

以下のように2つの配列があります。2つの単一配列を使って多次元配列を作成する

$e which is 
Array 
(
    [0] => AL-Alabama 
    [1] => AK-Alaska 
) 

$c which is 
Array 
(
    [0] => Aerospace: General 
    [1] => Agriculture/Forestry/Fish ing/Mining: General 
) 

上記の2つの単一配列を使用して多次元配列を作成したいとします。私は以下のコードを書きましたが、うまく動作しません。

$mat1=array(array());  
foreach ($e as $ee);    
     {foreach ($c as $cc);  
     {$mat1[$ee][] = $cc;}} 

次のように出力されます。私の理想的な出力に対し

Array 
(
    [0] => Array 
     (
     ) 

    [AK-Alaska] => Array 
     (
      [0] => Agriculture/Forestry/Fish ing/Mining: General 
     ) 

) 

は、任意のヘルプは高く評価されるよう

(AL-Alabama,Aerospace: General), (AL-Alabama,Agriculture/Forestry/Fish ing/Mining: General) and 
(AK-Alaska,Aerospace: General), (AK-Alaska,Agriculture/Forestry/Fish ing/Mining: General) 

に格納組み合わせを有する配列であるべきです。

おかげ

答えて

0

$ eと$に共通しているcは事がキーである場合: これは、$ cと$ eは同じ長さを持っている必要がありますを意味します。

<?php 
$c = ['AL-Alabama', 'AK-Alaska']; 
$e = ['Aerospace: General', 'griculture/Forestry/Fish ing/Mining']; 
$new = []; 

if (count($c) == count($e)) { 
    for ($i=0; $i < count($c); $i++) { 
     $new[$c[$i]] = $e[$i]; 
    } 
    var_dump($new); 
} else { 
    echo 'error'; 
} 

編集: 私は

$new[$c[$i]] = $e[$i]; 

が、仕事やその他の出力を持っている

+0

感謝の両方にこの

$new[$i] = ['e'=>$e[$i], 'c' => $c[$i]]; 

を変更しました。私たちは近づいていますが、まだそこにはいません。私は以下のように出力しています。アイルランド ( [航空宇宙:一般] => AL-アラバマ [農業/林業/魚釣り/鉱業:一般] => AK-アラスカ ) Al-Alabama、[農業/林業/魚釣り/鉱業:農業/林業/魚釣り/一般] => AL-アラバマ、 General] => AK-Alaska – Rupali

+0

ありがとうございました。あなたは私に良い方向を与えました。私はこの問題を解決することができました。 – Rupali