0

我试图通过偶数索引号过滤掉值,但进展不顺利。$date 作为完整数组返回,但缺少最后一个索引。这是因为我使用了explode()吗?

这是我的代码;

$route = "Dest A:0900:Dest B:0930:Dest C:1000";

$route_array = explode(":", $route);

foreach($route_array as $key){
    if(!($key & 1)){
        $date[] .= $key;
    }
}
return $date;
4

3 回答 3

1

你的循环应该是这样的

foreach($route_array as $k=>$key){
    if(($k+1)%2 == 0){
        $date[] = $key;
    }
}
于 2012-11-08T13:54:03.410 回答
1

我相信这是问题所在:

foreach($route_array as $key)

您调用 variable $key,但它实际上将包含该数组元素的值。

相反,您应该执行以下操作:

foreach($route_array as $key => $value)

然后检查 $key 是奇数还是偶数。现在 $value 将包含目的地或时间。

于 2012-11-08T13:55:52.847 回答
0

谢谢各位的回答...

好的,五分钟后,我有一个灯泡时刻,想出了一个解决方案;

$route = "Dest A:0900:Dest B:0930:Dest C:1000";
$route_array = explode(":", $route);

foreach($route_array as $key => $value){
    if(!($key & 1)){
        $date[] .= $route_array[$key];
    }
}
return $date;
于 2012-11-08T14:00:29.237 回答