Symfony2/PHP-数组问题


Symfony2/PHP - Issue with array

我正试图将一些代码移到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;
}

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

int(1)int(2)

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

array(2) { 
    [1]=> array(0) { } 
    [2]=> array(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;
}