循环并回显数组的所有值

时间:2014-10-26 16:34:09

标签: php arrays loops echo

我有一个数组,print_r($badges);显示:

Array ( [0] => Array ( [0] => foobar [2] => foobar2 [4] => foobar3 ) )

我想循环并打印所有值:

$arrlength = count($badges);

for($x=0;$x<$arrlength;$x++)
  {
  echo $badges[$x];
  echo "<br/>";
  }

但它不起作用。我究竟做错了什么?

3 个答案:

答案 0 :(得分:3)

您有嵌套数组。因此,您需要定位父数组的第一项(在索引[0]),然后遍历子数组中的值:

foreach ( $badges[0] as $badge ) {
    echo $badge . '<br>';
}

答案 1 :(得分:2)

您的问题是$badges实际上在数组中包含数组。

以下是工作和简化代码:

foreach ($badges[0] as $badge) {
  echo $badge;
  echo "<br/>";
}

答案 2 :(得分:1)

您有一个嵌套数组 - 这就是您的print_r显示Array ( [0] => Array ( [0] =>的原因。此外,您的阵列中只有偶数键,因此使用for ($x = 0; $x < $arrlength; $x++)不是最佳解决方案。你最好使用foreach,它遍历每个数组元素。使用$badges[0]访问内部数组,然后遍历它:

foreach ($badges[0] as $k => $v) {
    echo "key: $k, value: $v" . PHP_EOL;
}

输出:

key: 0, value: foobar
key: 2, value: foobar2
key: 4, value: foobar3