Symfony2 / PHP - проблема с массивом

0

Я пытаюсь переместить код в 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)

Таким образом, эти идентификаторы должны быть первым элементом моего массива, что я и делаю. Но в var_dump в конце, где я вывожу массив, я получаю пустой массив

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

Почему это должно быть?

благодаря

  • 0
    Что вы хотите получить? Массив со всеми вашими идентификаторами оповещений?
  • 0
    Для начала да. В конечном итоге это будет многомерный массив, но первым элементом будут идентификаторы.
Показать ещё 3 комментария
Теги:
arrays

1 ответ

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;
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню