Здравствуйте, мне нужно удалить пустые элементы массива, и добавить один элемент в начало. Я могу сделать это так:
$users = array_filter($users);
array_unshift($users, 'userid');
Но я привык сокращать код, по этому пытаюсь сделать это так:
array_unshift(array_filter($users), 'userid');
Но тогда почему то массив получается вовсе пустым. Почему? Ведь интерпретатор по идее должен вначале очистить пустые элементы при помощи array_filter, а потом уже в пустой массив добавлять значение в его начало.
Но тогда почему то массив получается вовсе пустым. Почему?
Потому что функция array_unshift() принимает значение переменной по ссылке &:
int array_unshift ( array &$array , mixed $value1 [, mixed $... ] )
Сохраняйте массив в переменную, и передавайте на вход эту переменную, а не результат вычисления какого либо выражения. Такое поведение касается всех php-функций, принимающих параметры по ссылке.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники