2016-11-10 4 views
0

私の要件は、配列内の日付のリストとその特定の日付で利用可能な時間を表示することです。PHPの既存の配列キーの値を変更する

私はすべてのロジックを設定しましたが、1か所で苦労しています。問題を見てください。

私は配列を持っています。私が必要とするのは、 'booked_from_time'を 'from_time'に動的に変更することです。

どのように私はこれを達成することができます、それを解決するために私を助けてください。

<!-- Array response --> 

[2016-11-25] => Array 
    (
     [0] => Array 
      (
       [from_time] => 00:00:00 
       [to_time] => 23:59:59 
      ) 

    ) 

[2016-11-26] => Array 
    (
     [0] => Array 
      (
       [booked_from_time] => 2016-11-26 00:00:00 
       [booked_to_time] => 2016-11-26 16:00:00 
      ) 

     [1] => Array 
      (
       [booked_from_time] => 2016-11-26 16:00:00 
       [booked_to_time] => 2016-11-26 19:20:00 
      ) 

     [2] => Array 
      (
       [from_time] => 00:00:00 
       [to_time] => 23:59:59 
      ) 

    ) 

[2016-11-27] => Array 
    (
     [0] => Array 
      (
       [from_time] => 00:00:00 
       [to_time] => 23:59:59 
      ) 

    ) 
//My Php Code 
function multipleBookingsInADay($tempList){ 
    foreach($tempList as $key => $dataValue){ 
     $previousFromDate; 
     foreach($dataValue as $keyOne => $innerData){ 

      if(isset($innerData['booked_from_time'])){ 
       $tempStartTime = date('Y-m-d H:i:s',strtotime($key . " 00:00:00")); 
       $tempFromTime = date('Y-m-d H:i:s',strtotime($key . " " . $innerData['booked_from_time'])); 
       if(empty($previousFromDate)){ 
        $previousFromDate = date('Y-m-d H:i:s',strtotime($key . " 00:00:00")); 
       } 
       $tempList[$key][$keyOne]['booked_from_time'] = $previousFromDate; 
       $tempList[$key][$keyOne]['booked_to_time'] = $tempFromTime; 
       $previousFromDate = $tempFromTime; 
       continue; 
      } 
      break; 
     } 
    } 
    print_r($tempList); 
} 

ありがとうございました。

+0

「array_merge」コンセプトを試してください。 –

+1

上記の例に基づいて希望の結果を提供してください。 –

答えて

1

私は以下のリンクの助けを借りて問題を修正しました。

Replace array keys

ありがとうございました。

関連する問題