Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从多维阵列获取数据的正确方法_Php_Arrays_Associative Array - Fatal编程技术网

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

Php 从多维阵列获取数据的正确方法,php,arrays,associative-array,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;?&

您好,以下是我的阵列数据:

我正试图得到图片的突出部分

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

<?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”

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

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'];
}

在将数据添加到$atr_n和$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'];
}

上面写着未定义的索引:atr_n@Umerm将其更改为a_name将atr_n和atr_v分别更改为a_name和a_val。@Amal Murali,是的,更正了,我已经看到问题的亮起部分,所以我使用了它们。感谢通知。
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'];
}