从多暗阵列获取数据的正确方法

时间:2014-11-11 07:37:25

标签: php arrays associative-array

以下是我的数组数据:

我正在努力获得图片中突出显示的部分。

到目前为止,这是一个关联数组,我试过这个:

<?php

for($i = 0 ; $i < count($ad['all_atr']) ; $i++)
{
    $atr_n= $ad[$i]['all_atr']['atr_n'];
    $atr_v= $ad[$i]['all_atr']['atr_v'];
?>
<tr>
    <td><?php echo $atr_n;?></td>
    <td><?php echo $atr_v;?></td>
</tr>
<?php
....

但是给出错误'Undefined offset:0'

2 个答案:

答案 0 :(得分:0)

要访问它,首先指向数组,然后指向索引:

for($i = 0; $i < count($ad['all_atr']); $i++)
{
    $atr_n = $ad['all_atr'][$i]['a_name'];
    $atr_v = $ad['all_atr'][$i]['a_val'];
}

或使用foreach:

foreach($ad['all_atr'] as $values) {
    $atr_n = $values['a_name'];
    $atr_v = $values['a_val'];
}

答案 1 :(得分:0)

只需检查数据是否已设置,并且在将数据添加到$ atr_n&amp;之前不是空的。 $ atr_v:

if (isset($ad['all_atr'][$i]['a_name']) && isset($ad['all_atr'][$i]['a_val']) && !empty($ad['all_atr'][$i]['a_name']) && !empty($ad['all_atr'][$i]['a_val'])) {
    $atr_n = $ad['all_atr'][$i]['a_name'];
    $atr_v = $ad['all_atr'][$i]['a_val'];
}