1

次の配列を foreach でループして、次のように出力するにはどうすればよいですか。

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

私は苦労して苦労しており、二重のforeachsなどを試しましたが、どういうわけかうまくいきません...

誰でも私に説明できますか?

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
        )

)
4

2 に答える 2

3

このようなものが動作するはずです:

$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 />';
}
于 2012-08-17T18:43:29.477 に答える
3

単純

<?php
    foreach($array['product'] as $num => $prod){
        echo $prod." ".$array['date'][$num]." ".$array['time'][$num];
    }
?>
于 2012-08-17T18:44:05.677 に答える