php foreach yardım

2 Cevap php

Ben 4 satırlık bir veri kümesi var. Ben 2 foreach kullanıyorum benim verileri almak için döngüler. Dış foreach kez döngü gerekiyor ve ben döngü 4x iç döngü gerekir. Bunu yapmak için bir yolu var mı yoksa ben dizi bölmek gerekiyor?

  foreach($reports as $key=>$val)
  {
      if($val['rpt_type'] == 'Sooa')
      {
        foreach($val as $foo)
        {
          echo $foo['name'];
        }
      }
  }

2 Cevap

Ben hala veri yapısı nasıl göründüğü konusunda emin değilim. Benim için, "rpt_type" kullanmak edebilmek için, bu gibi bir şey olurdu:

$reports = array(
    0 => array(
        'rpt_type' => '...',
        ...
        'rows' => array(
            'name' => '...',
            ...
        ),
    ),
    1 => ...
);

Bunu daha sonra bunun üzerinde yineleme olabilir:

foreach($reports as $report) {
    if($report['rpt_type'] == 'Sooa') {
        foreach($report['rows'] as $row) {
            echo $row['name'];
        }
    }
}

İlk olarak, $ raporların içeriğini kontrol değişken, php var_dump işlevini kullanarak:

var_dump($reports);

Böyle bir şey basalım:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  array(3) {
    [0]=>
    string(1) "a"
    [1]=>
    string(1) "b"
    [2]=>
    string(1) "c"
  }
}

Sonra, hangi şekilde sizin pürüzlü diziler oluşturulur var gerçek verilere bakarak döngü uygulayabilirsiniz.