Почему array_push () не принимает объект запроса pdo в качестве аргумента

Просто любопытно. При переносе массива на другой:

array_push($array_1, $array_2);

Я получаю обычное поведение, но когда я нажимаю pdo query-> fetchAll, который содержит и возвращает массив, ничего не происходит.

array_push($array_1, $query->fetchAll());

Что меня интересует, так это если я назначу объект запроса переменной:

$array_fetchAll = $query->fetchAll();
array_push($array_1, $array_fetchAll);

Это работает как ожидалось.

0

Решение

Единственный способ, которым это будет работать, это использование PHP version 5.5.X или выше, где новая функция позволяет разыменовывать функции напрямую для доступа к отдельным элементам.

Например echo $stmt->fetchAll()[0]; не будет работать, если вы используете PHP старше 5.5.x

array_push требует массив в качестве параметра, если вы используете более старый PHP, вы должны хранить $query->fetchAll() в переменную.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]