使用php打印多维数组,数组以关联格式存储

问题描述 投票:2回答:1

我正在学习php,但在练习时遇到了问题。我已经创建了一个包含项目值的多维数组,并且正在使用for循环来打印这些值,但是我正在得到

错误:未定义的偏移量

数组格式是关联的。

要求:

1)使用for循环/ foreach循环打印所有值

2)如果任何关联数组为空,请避免该>

3)检查它是数组还是单个值,例如某些值又具有自己的数组

$item_list=array();  //multidimensional array with associative values
echo '<pre>';print_r($item_list);

Array
(
    [total_price] => 1200
    [item_1] => Array
        (
            [item_name1] => xyz
            [item_price1] => 100.00

        )

    [item_2] => Array
        (
            [item_name2] => abc
            [item_price2] => 200.00

        )


    [item_3] => 
    [item_4] => Array
        (
            [item_name3] => aaa
            [item_price3] => 402.00
        )

)

//我用来回显所有值的代码

for ($row = 0; $row < count($item_list); $row++) {
  // if value contain array then go to nested for loop else print direct value
  echo "<ul>";
  for ($col = 0; $col < count($item_list[$row]); $col++) {

    //echo "<li>".$item_list[$row][$col]."</li>";
    echo "<li>".array_values($item_list[$row])[$col]."</li>";

  }
  echo "</ul>";
}

我正在学习php,但在练习时遇到了问题。我用项目值创建了一个多维数组,并且正在使用for循环来打印这些值,但出现错误:undefined offset ...

php arrays multidimensional-array
1个回答
1
投票

由于数组是关联数组,因此无法在for循环中使用数字索引访问值。而是在元素上使用foreach循环:

© www.soinside.com 2019 - 2024. All rights reserved.