【问题标题】:foreach multidimensional arrayforeach 多维数组
【发布时间】:2012-08-14 05:37:30
【问题描述】:

我如何使用 foreach 遍历以下数组,使其打印如下:

Product1 date1 time1
product2 date2 time2
product3 date3 time3
product4 date4 time4

我一直在挣扎和挣扎,我尝试过双重前奏等,但不知何故我无法让它发挥作用......

有谁能给我解释一下吗?

Array
(
    [product] => Array
        (
            [0] => product1
            [1] => product2
            [2] => product3
            [3] => product4
        )

    [date] => Array
        (
            [0] => date1
            [1] => date2
            [2] => date3
            [3] => date4
        )

    [time] => Array
        (
            [0] => time1
            [1] => time2
            [2] => time3
            [3] => time4
        )

)

【问题讨论】:

  • 根据您的示例,使用 for 循环会更适用。

标签: php arrays foreach multidimensional-array


【解决方案1】:

这样的事情应该可以工作:

$count = count($data['product']);
for ($i = 0; $i < $count; $i ++) {
    echo $data['product'][$i] . ' ' . $data['date'][$i] . ' ' .$data['time'][$i] . '<br />';
}

要为其添加数据验证/完整性(停止undefined index 错误),还要检查子数组中是否存在每个索引:

$count = count($data['product']);
for ($i = 0; $i < $count; $i++) {
    $date = isset($data['date'][$i]) ? ' ' . $data['date'][$i] : '';
    $time = isset($data['time '][$i]) ? ' ' . $data['time '][$i] : '';
    echo $data['product'][$i] . $date . $time . '<br />';
}

【讨论】:

  • 第一次更新后得到更新的答案和更正的数组访问,好的 +1。
  • 谢谢哥们!正是我想要的。我无法理解如何仅使用 for() 来完成,但现在我明白了!
【解决方案2】:

简单

<?php
    foreach($array['product'] as $num => $prod){
        echo $prod." ".$array['date'][$num]." ".$array['time'][$num];
    }
?>

【讨论】:

    猜你喜欢
    • 2013-11-02
    • 2015-03-01
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-13
    相关资源
    最近更新 更多