2016-03-22 7 views
0

私は動的なテキストボックスを生成して保存し、さらに機能を追加して、データベースにそのデータを格納する必要があります。配列はありますが、その配列をループに入れる方法はわかりません私のデータ。与えられた配列に基づくBulid forループ

アレイはので、私は、配列の各要素にアクセスすることができ、この準備ループに基づいて次のようになります。

Array 
(
    [0] => Array 
     (
      [0] => Array 
       (
        [0] => Array 
         (
          [prem_type] => 1 
         ) 

        [1] => Array 
         (
          [phase_name] => a1 
         ) 

        [2] => Array 
         (
          [counter] => 2 
         ) 

        [3] => Array 
         (
          [block] => A 
         ) 

        [4] => Array 
         (
          [block] => B 
         ) 

       ) 

     ) 

    [1] => Array 
     (
      [0] => Array 
       (
        [0] => Array 
         (
          [prem_type] => 1 
         ) 

        [1] => Array 
         (
          [phase_name] => a2 
         ) 

        [2] => Array 
         (
          [counter] => 2 
         ) 

        [3] => Array 
         (
          [block] => A 
         ) 

        [4] => Array 
         (
          [block] => B 
         ) 

       ) 

     ) 

) 

おかげ

+1

たぶん、あなたはあなたのを示すことができるだけでなく –

+1

予想配列結果の構造を記述してください。データベースクエリルーチン:配列構造が単純化できるようです。 – fusion3k

+0

私はこのような要素を印刷していますが、その定義されていないインデックスのprem_type:for($ i = 0; $ i

答えて

0

を試してみてください答えです:

for($i=0;$i<count($data1);$i++){ 
      for($j=0;$j<count($data1[$i]);$j++){ 
       $prem_type =$data1[$i][$j][0]['prem_type']; 
       $prem_name= $data1[$i][$j][1]['phase_name']; 
       $no_of_phase= $data1[$i][$j][2]['counter']; 
      echo $prem_type." ".$prem_name." ".$no_of_phase."<br>"; 
        for($k=3;$k<count($data1[$i][$j]);$k++){ 
          echo $data1[$i][$j][$k]['unitname']."<br>"; 
        } 
      } 
     } 
0

あなたのようなものを使用することができ、データを取得するには、次の

foreach ($array AS $row) { 
    $prem_type = $row[0][0]['prem_type']; 
    $phase_name = $row[0][1]['phase_name']; 
    $counter = $row[0][2]['counter']; 
    $block1 = $row[0][3]['block']; 
    $block2 = $row[0][4]['block']; 
} 

もう1つの方法は、配列をもっときれいに再構成することです:

$result = array(); 
foreach ($array AS $rowId => $row) { 
    $result[$rowId] = array(
     'prem_type' => $row[0][0]['prem_type'], 
     'phase_name' => $row[0][1]['phase_name'], 
     'counter' => $row[0][2]['counter'], 
     'block1' => $row[0][3]['block'], 
     'block2' => $row[0][4]['block'] 
    ); 
} 

これは、その結果:

Array 
(
    [0] => Array 
    (
     [prem_type] => 1, 
     [phase_name] => a1, 
     [counter] => 2, 
     [block1] => A, 
     [block2] => B 
    ) 
    ... 
) 
0

は、ここでは、この

$array = //your array 

foreach($array as $value){ 
    foreach($value as $value2){ 
     foreach($value2 as $value3){ 
      foreach($value3 as $key3 => $value3){ 
       //$key3 is rem_type, phase_name… 
       //$value3 is required values 
      } 
     } 
    } 
} 
+0

どのようにそれはあなたのような最後のforeachループ内でのキーであれば、他の条件を使用することができます –

+0

すべての要素にアクセスしているので、私はこのループを使用して、特定の要素にアクセスすることができます。 'if($ key3 ==" prem_type "){//使用値3}' –

関連する問題