0

私はこれで少し整理されており、誰かが私を助けてくれることを願っています. 私にはいくつかの変数があり、if ステートメントで配列を使用することに少し行き詰まっています。

私が見つけたいのは、私の relocation_date が notifications_time (生成されたシリーズから) よりも小さいかどうか、それから old_meter_id でなければ 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
        )

.....

前もって感謝します!

4

1 に答える 1

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,                                
                         );
}

}

これがあなたが探している解決策であることを願っています

于 2013-06-27T07:40:56.147 に答える