0
$counter = 0;
foreach($dates as $dbRow) :
$datesExp[] = [$counter => array($dbRow->e_id => new DateTime($dbRow->l_date_expect))];
++$counter;
endforeach;

使用上面的代码,我试图实现的数组格式为:

0 => array(
    PK => DATE)
1 => array(
    PK2 => DATE2)
....etc

但是我用 var_dump 得到的是:

array (size=3)
    0 => 
    array (size=1)
      0 => 
        array (size=1)
          2 => 
            object(DateTime)[7]

这是哪里来的: array (size=1) 0=> 中间维度?

4

2 回答 2

1

从这里:$datesExp[] = [$counter => array($dbRow->e_id => new DateTime($dbRow->l_date_expect))];

$datesExp[] == 在此数组中添加以下内容作为条目

[...];= 这里的一切都是一个数组

array($dbRow->e_id => new DateTime($dbRow->l_date_expect))= 最里面的数组

应该

$datesExp[$counter] = array($dbRow->e_id => new DateTime($dbRow->l_date_expect));

于 2013-05-24T19:10:07.960 回答
0

试试这个,不需要单独的柜台,不需要外大括号 [..]

$datesExp[] = array($dbRow->e_id => new DateTime($dbRow->l_date_expect));
于 2013-05-24T19:13:43.513 回答