我有点阵列用这个,我希望有人可以帮助我。我有一些变量,并且在if语句中使用数组有点困难。
我想知道的是,如果我的relocation_date少于notifications_time(来自生成的系列),那么请给我old_meter_id else meter_id
$meter_id = 1393;
$notified_time = '2013-05-01 09:53';
$completed_time = '2013-05-01 11:52';
$relocation_date = '2013-04-24 00:00';
$old_meter_id = 1832;
$notified_time = strtotime($notified_time);
$completed_time = strtotime($completed_time);
$relocation_date = date($relocation_date);
$combined = array();
for($i=0;$i<=10;$i++)
{
$start_series = strtotime("- $i weeks", $notified_time);
$end_series = strtotime("- $i weeks", $completed_time);
$combined[] = array( 'start_time' => date('d-m-Y H:i:s',$start_series),
'end_time' => date('d-m-Y H:i:s',$end_series),
'relocation' => $relocation_date,
'meter_id' => $meter_id,
'old_meter_id' => $old_meter_id,
);
}
示例预期输出如下:
Array
(
[0] => Array
(
[start_time] => 01-05-2013 09:53:00
[end_time] => 01-05-2013 11:52:00
[relocation] => 2013-04-24 00:00
[meter_id] => 1393
)
[1] => Array
(
[start_time] => 24-04-2013 09:53:00
[end_time] => 24-04-2013 11:52:00
[relocation] => 2013-04-24 00:00
[meter_id] => 1832
)
.....
提前致谢!
答案 0 :(得分:1)
您可以在循环中查看
for($i=0;$i<=10;$i++)
{
$start_series = strtotime("- $i weeks", $notified_time);
$end_series = strtotime("- $i weeks", $completed_time);
if(strtotime($relocation_date) < $start_series){
$combined[] = array( 'start_time' => date('d-m-Y H:i:s',$start_series),
'end_time' => date('d-m-Y H:i:s',$end_series),
'relocation' => $relocation_date,
'meter_id' =>$old_meter_id,
);
}else{
$combined[] = array( 'start_time' => date('d-m-Y H:i:s',$start_series),
'end_time' => date('d-m-Y H:i:s',$end_series),
'relocation' => $relocation_date,
'meter_id' =>$meter_id,
);
}
}
希望这是您正在寻找的解决方案