我正在尝试将一些代码移到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) { }
}
为什么会这样?
由于
答案 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;
}