2016-08-12 20 views
1

私は多次元配列を持っていて、foreachループを与えられましたが、print_rを使わずにすべての値をエコーする方法はわかりません。最初の結果として、foreachループの外側にあるecho $array[0][0];の場合は結果が得られます。多次元配列でforeachループを使用するには?

私は他の例を見てきましたが、print_r以外の結果を表示するものはなく、多次元配列ではなく単一の配列しか使わない傾向がありました。

私はこのforeachループがうまくいくように見えましたが、foreachループ内でecho $new_arrayを実行しようとするとエラーが発生します。このような状況にどうすればいいですか?しますprint_r

[0] => Array 
    (
     [0] => 2 
     [audit_inspectionID] => 10 
     [1] => 2015-08-12 
     [created] => 2015-08-12 
     [2] => 2016-08-11 16:26:22 
     [modified] => 2016-08-11 16:26:22 
     [class_answer] => Array 
      (
       [0] => Needs Improvement  
       [1] => Need To Correct  
       [2] => Needs Immediate Action  
      ) 
    ) 
[1] => Array 
    (
     [0] => 12 
     [audit_inspectionID] => 12 
     [1] => 2016-08-12 
     [created] => 2016-08-12 
     [2] => 2016-08-11 16:26:22 
     [modified] => 2016-08-11 16:26:22 
     [class_answer] => Array 
      (
       [0] => Needs Improvement  
       [1] => Need To Correct  
       [2] => Needs Immediate Action  
      ) 
    ) 
+0

私は練習のポイントを理解していません。配列のすべての値をエコーし​​たいだけですか?なぜあなたは '$ new_array [] = $ val ['key']' – BeetleJuice

+1

'foreach($ data as $ d)foreach($ d = $ k => $ v)エコー$ k、 ' - >'、$ v、PHP_EOL; ' – naomik

+0

また、dbからフェッチされたようですので、fetch_arrayではなくfetch_assocを使用できます。 –

答えて

0

から

foreach($array as $key=>$val) { 
    $new_array[] = $val['key']; 
} 

配列の結果は、私はあなたが求めているものを本当にわからないんだけど、あなたはどのような形式では(キーと値のすべてを出力します何かをしたい場合は?あなたは関係なく、あなたのような何かを行うことができ、互いの内側にネストされた配列の)を指定しない:

function arrayToString(array $array) 
{ 
    $out = ""; 

    foreach ($array as $key => $value) { 
     if (is_array($value)) { 
      $out .= "$key => (" . arrayToString($value) . "), "; 
     } else { 
      $out .= "$key => $value, "; 
     } 
    } 

    return $out; 
} 

することができますザ・に$myArrayあなたがエコーしたいアレイであるecho arrayToString($myArray) - それを」末尾のコンマは残しておきますが、必要なことをするためにそれを変更できると確信しています。

これはあなたが望むようなものですか?私は本当にこの点を見ていないが、うまくいけば、これはあなたを助ける。

+1

私は、1〜3レベルの多次元配列に拡張可能な、より再利用可能なコードを作成する方法を学びたいと思っていました。 so []〜[] [] []レベルになります。私がしているコードの一部にとってはとても便利なようです。 –

関連する問題