0

我的 var_dump 看起来像这样,我知道我收到了错误,因为我传递的是数组而不是字符串。但是我该如何解决呢?

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)

我的功能

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=0;then$x++;但返回Undefined offset: 0 这样$record[$x]['date_submitted'];,它没有工作。

4

1 回答 1

0

如果您希望在 foreach 循环中操作数组本身,则必须引用该值。

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

如果您现在在循环内操作 $record, $arr 实际上将包含您操作的值。否则 $record 只是在循环的范围内。

于 2012-04-03T21:44:49.950 回答