使用PHP循环到数组

时间:2017-01-09 04:42:20

标签: php arrays

我有以下数组:

Array (
    [0] => Array (
        [0] => 2017-02-26
        [1] => 2017-02-27
    )
    [1] => Array (
        [0] => 2017-03-01
    )
)
Array (
    [0] => Array (
        [0] => 2017-02-28
    )
)
Array (
    [0] => Array (
        [0] => 2017-01-01
        [1] => 2017-01-02
        [2] => 2017-01-03
        [3] => 2017-01-04
    )
)
Array (
    [0] => Array (
        [0] => 2017-01-01
        [1] => 2017-01-02
        [2] => 2017-01-03
        [3] => 2017-01-04
    )
)

我希望循环使用这个数组:

//当几个日期时 - 来自2017-02-26 to 2017-02-27

//只有一个日期
- 在2017-03-01

我尝试了什么:

foreach ($array as $key => $value) {
    $count = count($array[$key]);
    if($count==1) {
        echo "On the $key[$value]";
    }
    else {
        $first = reset($array);
        $last = end($array);
        echo "From ".$first." to ".$last.;
    }
}

但它没有用。

请帮忙吗?

感谢。

2 个答案:

答案 0 :(得分:2)

您正在按foreach()进行循环,因此它将显示最后一个回显字符串。将结果存储到一个变量Eg($display)将更容易显示

$display = "";
foreach ($array as $key => $value) {
    $count = count($array[$key]);
    if($count==1) {
        $display .=  "On the $value[0] <br>";
    }
    else {
        $first = $value[0];
        $last = $value[$count-1];        
        $display .= "From ".$first." to ".$last."<br>";
    }
}
echo $display;

答案 1 :(得分:1)

试试这个: -

foreach ($array as $key => $value) {
    $count = count($value);
    if($count==1) {
        echo "On the ".$value[0];
    }
    else {
        $first = reset($value);
        $last = end($value);
        echo "From ".$first." to ".$last;
    }
}

或者只是复制粘贴此代码,它将起作用。您要使用的主内部数组是 $ value