print_r(ArrayHelper::map(User::find()->selectUser()->all(), 'id', 'name'));
print_r(ArrayHelper::map(User::find()->all(), 'id', 'name'));
не пусто
, а не пусто1
. Единица в данном случае - это результат выполнения операции $b = 1
. То есть присвоение, конечно произойдёт, но только в процессе вывода на экран. Но когда таких переносов будет множество - правила будут огромными
А что скажите на счёт использования Alias?
Ну или какие там у вас условия вокруг array_unshift...