Symfony2 / PHP - 数组问题

时间:2015-02-23 14:08:15

标签: php arrays symfony

我正在尝试将一些代码移到Symfony中,由于某些原因,某些东西无效,我无法解决原因。我已经打破了我的功能,所以我可以确定问题,事实上它已经开始了。

所以我有

public function getAvailabilityData(){
    $alerts = $this->em->getRepository('NickAlertBundle:AvailabilityAlert')->getActiveAlertIds();

    $alertsArray = array();

    if (!$alerts) {
        throw $this->createNotFoundException('Unable to find Availability.');
    }

    foreach($alerts as $alert){
        $alertId = (int)$alert['id'];
        var_dump($alertId);
        $alertsArray[$alertId] = array();
    }
    var_dump($alertsArray);

    return $alertsArray;
}

现在我知道我的数据库中有2个警报,当我发送var_dump $ alertId时会进一步显示

  

int(1)int(2)

所以这些id应该是我的数组的第一个元素,这就是我所做的。但是在我输出数组的末尾的var_dump中,我得到一个空数组

array(2) { 
    [1]=> array(0) { } 
    [2]=> array(0) { } 
} 

为什么会这样?

由于

1 个答案:

答案 0 :(得分:0)

您明确将空数组设置为值

foreach($alerts as $alert){
    $alertId = (int)$alert['id'];
    var_dump($alertId);
    $alertsArray[$alertId] = array();
}

听起来像你想要的那样:+

foreach($alerts as $alert){
    $alertId = (int)$alert['id'];
    var_dump($alertId);
    $alertsArray[$alertId] = $alertId;
}