我不确定自己错误地使用了这个错误,但是当我尝试使用变量执行foreach
循环时,它会返回Array Array
。
PHP代码:
<?php foreach ($thing as $t) : ?>
<?php $thisStuff = $t[stuff]; ?>
<?php echo $thisStuff; ?>
<?php endforeach; ?>
输出:
Array Array
这可能是$thisStuff
中还有另一个数组吗?如果是这样,我会遍历那些数据吗?
答案 0 :(得分:1)
如果你有一个多维数组,你需要使用递归函数。
一个例子可能是这个
 <md-content class="md-padding">
<md-tabs md-selected=0>
<md-tab id="tab1" label="one" md-active="true" md-no-select-click="true">
<md-tab-label>Item One</md-tab-label>
<md-tab-body>
View for Item #1 <br/>
data.selectedIndex = 1;
</md-tab-body>
</md-tab>
<md-tab id="tab2" label="two" md-no-select-click="true" md-active="false">
<md-tab-label>Item Two</md-tab-label>
<md-tab-body>
View for Item #2 <br/>
data.selectedIndex = 2;
</md-tab-body>
</md-tab>
<md-tab id="tab3" label="three" md-no-select-click="true" md-active="false">
<md-tab-label>Item three</md-tab-label>
<md-tab-body>
View for Item #3 <br/>
data.selectedIndex = 3;
</md-tab-body>
</md-tab>
<md-tab id="tab4" label="four" md-no-select-click="true" md-active="false">
<md-tab-label>Item three</md-tab-label>
<md-tab-body>
View for Item #3 <br/>
data.selectedIndex = 3;
</md-tab-body>
</md-tab>
<md-tab id="tab5" label="five" md-no-select-click="true" md-active="false">
<md-tab-label>Item three</md-tab-label>
<md-tab-body>
View for Item #3 <br/>
data.selectedIndex = 3;
</md-tab-body>
</md-tab>
</md-tabs>
</md-content>
上面的函数,给出一个类似
的数组function unfoldArray($array,$output = array()) {
if(is_object($array)) {
$array = (array)$array;
}
foreach($array as $key => $value) {
if(is_array($value) || is_object($value)) {
//$output[] = $key;
$output = unfoldArray($value,$output);
} else {
$output[] = $value;
}
}
return $output;
}
将返回像这样的平面数组
$array = array(
"one",
"two",
"three" => array("A","B","C"),
"four" => array("X","Y","Z"),
"five",
"six" => array(
"sub_one",
"sub_two",
"sub_three" => array("sub_A","sub_B","sub_C")
),
"seven"
);
$output = unfoldArray($array);
您可能会注意到结果数组中省略了值“three”和“six”,因为它们是键,但如果您要包含它们,只需取消注释// $ output [] = $ key;在功能中。
一旦你拥有了这个数组,你就可以用foreach循环。 这可能不是您所需要的,但应该给您一个指导方向。
答案 1 :(得分:0)
尝试使用key =&gt;价值方法:
<?php foreach ($thing as $key => $value) : ?>
// if $value is array, you need to iterate it the same way (additional foreach)
<?php echo $value; ?>
<?php endforeach; ?>