Итак, у меня есть массив в php, например:
array( 22 => array() 23 => array() 25 => array() )
Я использую array_column в search_array для поиска столбца в вспомогательных массивах.
$index=array_search('needlehere',array_column(myarray,'columnbeingsearchedhere'))
Но array_column не использует правильные индексы, но переиндексирует их на 0,1,2 …
Есть ли способ сохранить правильные индексы?
array_column () не поддерживает индексы (хотя он позволяет вам установить свой собственный из других столбцов данных в строке), но вы можете справиться с этим, используя что-то вроде:
array_combine( array_keys($myarray), array_column($myarray,'columnbeingsearchedhere') );
РЕДАКТИРОВАТЬ
Альтернатива, которая, вероятно, временно занимает немного больше памяти (если вы не возражаете против изменения исходного массива), но может быть немного быстрее в целом (в зависимости от ваших данных):
$newArray = $myArray; array_walk($newArray, function(&$value) use ($columnName) { $value = $value[$columnName]; } );