-5

次の配列があります。

[timestamps => Array ( 
    [0] => 2013-07-25 18:02:48 
    [1] => 2013-07-25 19:12:07 
    [2] => 2013-07-25 19:13:09 
) 

これを次のように変換する必要があります。

$date_accessed  = array(
    array( 'ID' => 1, 'date' => '2013-07-25', 'time' => '18:02:49' ),
    array( 'ID' => 2, 'date' => '2013-07-25', 'time' => '19:12:07' ),
    array( 'ID' => 3, 'date' => '2013-07-25', 'time' => '19:13:09' )
);

このWordpress関数を使用して配列を生成しています:

get_user_meta( $user_id, '_last_login', true )

ID キーの値は増分され、タイムスタンプ配列キーから派生したものではありません。たとえば、ID 値を生成するには、$i=1...$i++ として実行できます。

サンプル配列から日付と時刻を個別に抽出し、値を日付と時刻のキーに割り当てる必要があります。

私は試しましたが、すべてをまとめることができません。

4

3 に答える 3

0
<?php
    $timestamps = array ('2013-07-25 18:02:48', '2013-07-25 19:12:07', '2013-07-25 19:13:09');
    $arr=array();
    $i=0;
    foreach($timestamps as $key=>$timestamp) {
        $time = explode(" ", $timestamp); //you better be sure its a timestamp
        $arr[$i] = array('ID' => $key, 'date'=>$time[0], 'time'=>$time[1]);
        $i++;
    }
    print_r($arr);
?>
于 2013-07-26T07:20:06.630 に答える
0
$timestamps = array ('2013-07-25 18:02:48', '2013-07-25 19:12:07', '2013-07-25 19:13:09');

$newArr = array();
$i = 0;
foreach($timestamps as $arr) {
    $datetime = new DateTime($arr);
    $newArr[$i]['ID']   = $i; // set index with $i
    $newArr[$i]['date'] = date_format($datetime, 'Y-m-d'); // get date
    $newArr[$i]['time'] = date_format($datetime, 'H:i:s'); // get time
    $i++;
}

出力

array (size=3)
  0 => 
    array (size=3)
      'ID' => int 0
      'date' => string '2013-07-25' (length=10)
      'time' => string '18:02:48' (length=8)
  1 => 
    array (size=3)
      'ID' => int 1
      'date' => string '2013-07-25' (length=10)
      'time' => string '19:12:07' (length=8)
  2 => 
    array (size=3)
      'ID' => int 2
      'date' => string '2013-07-25' (length=10)
      'time' => string '19:13:09' (length=8)
于 2013-07-26T07:29:47.890 に答える