2012-04-03 10 views
0

私のvar_dumpはこのように見えますが、私は文字列の代わりに配列を渡しているのでエラーが出ています。しかし、どうすればそれを解決できますか?配列とPHPの日付

array 
    0 => 
    array 
     'date_submitted' => string '2012-03-22 19:28:22' (length=19) 
    1 => 
    array 
     'date_submitted' => string '2012-03-28 21:31:28' (length=19) 

My機能

function getArticle() { 

    $article = new Article('x'); 
    $arr = $article->getArticles(); 

    $date= null; 
    foreach($arr as $record){ 
     $currentDate = date('l, F j', strtotime($record['date_submitted'])); 

     if ($currentDate != $date) { 
      echo set_format_date($record['date_submitted'],'l, F j'); 
     } 
     $date = $currentDate; 
    } 
} 

$x++;その後、$x=0;を使用してみましたが、それはこのような$record[$x]['date_submitted'];Undefined offset: 0 を返し、それが仕事をdidntの。

+2

"エラー" - これは "エラー"ですか?あなたは配列をstrtotimeに渡していません。配列の文字列メンバーを渡しているので、それはできません。 –

+0

あなたはどの変数を 'var_dump'していますか? – PenguinCoder

+0

@PenguinCoder私は$ arrという配列を作成し、各データベースレコードをループしながら$ result-> fetch_assoc()を使用して配列を別の配列$ arrにプッシュしました – SupaOden

答えて

0

foreachループ内で配列自体を操作する場合は、値を参照する必要があります。

foreach($arr as &$record){ 
    // ... 
} 

ループ内で$ recordを操作すると、実際には$ arrには操作した値が含まれます。さもなければ、$ recordはループの範囲内にあります。

関連する問題