2016-09-30 16 views
0

私は以下のデータ配列を持っています。私はそれを単一のforeach関数を使ってループする必要があります。 私は[A]、[B]などをキーとその値として値として必要とします。複数の配列を単一のforeachにループする方法

私は(これは私が今使っているものですのような)

[data] => Array 
     (
      [0] => Array 
       (
        [A] => TestCompany1 
        [B] => testcompany1 
        [C] => fle 
        [D] => subscription 
        [E] => google.com 
       ) 

      [1] => Array 
       (
        [A] => TestCompany2 
        [B] => testcompany2 
        [C] => eid 
        [D] => subscription 
        [E] => google.com 
       )  
     ) 

は、私は複数のforeachを使用せずプットを必要とすることをどのように行うことができます

foreach($row['data'] as $key => $val) { 
    foreach($val as $key1 => $val1) { 
     $field = $val1; 
    } 
    } 

おかげ

+0

期待される出力の例を示してください。それがより簡単になります。 –

+0

そしてあなたはそれをどのように見ますか?原因キーが重複します:A、B .. A、Bなど 結果のサンプルを与えます – Dmytrechko

+0

キーの値が0,1,2,3のようなものなら、動作します –

答えて

0

私は以下のコードを使用してこれを達成しました。

$data = array(); 
foreach($row['data'] as $val) { 

    $data['field1'][] = $val['A']; 
    $data['field2'][] = $val['B']; 
    $data['field3'][] = $val['C']; 
    $data['field4'][] = $val['D']; 
    $data['field5'][] = $val['E']; 
} 

私は単一のforeach機能を使用しました。

0

あなたはそれを試すことができますこのように:

foreach($row['data'] as $val) { 
    echo $val[0]['A']; // TestCompany1; 
    echo $val[1]['A']; // TestCompany2; 
} 
0

私はあなたが結果は同様であるneed.The何を推測してみましょう:

A = [TestCompany1, TestCompany2] 
B = [testcompany1, testcompany2] 
C = [fle, eid] 
D =>subscription 
E =>google.com 

は言う:あなたが使用することができます

$array[0] = array(
     'A'=>'TestCompany1', 
     'B'=>'testCompany1', 
     'C'=>'fle', 
     'D'=>'subscription', 
     'E'=>'google.com' 
); 

$array[1] = array(
     'A'=>'TestCompany2', 
     'B'=>'testCompany2', 
     'C'=>'eid', 
     'D'=>'subscription', 
     'E'=>'google.com' 
); 

: $結果= array_merge_recursive($配列[0]、$配列[1] ); してから$ resultを変換してください。

関連する問題