我有一个包含4行的数据集。我正在使用2个foreach循环来获取我的数据。外部foreach需要循环一次,我需要内循环来循环4x。有没有办法做到这一点,还是我需要分割数组?
foreach($reports as $key=>$val)
{
if($val['rpt_type'] == 'Sooa')
{
foreach($val as $foo)
{
echo $foo['name'];
}
}
}
答案 0 :(得分:1)
我仍然不确定您的数据结构的外观。对我来说,为了能够使用“rpt_type”,它必须看起来像这样:
$reports = array(
0 => array(
'rpt_type' => '...',
...
'rows' => array(
'name' => '...',
...
),
),
1 => ...
);
然后你可以用:
迭代它foreach($reports as $report) {
if($report['rpt_type'] == 'Sooa') {
foreach($report['rows'] as $row) {
echo $row['name'];
}
}
}
答案 1 :(得分:1)
首先,使用php:
的var_dump函数检查$ reports变量的内容var_dump($reports);
它会打印出这样的东西:
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
}
}
然后,您可以实现循环查看您拥有的实际数据,无论您的锯齿形数组是以何种方式形成。