TechBlogSD - Все для WordPress и WEB разработки
WEB и WordPress инструкции, новости, обзоры тем и плагинов

Как переиндексировать массив в PHP

1 155

Иногда вам может понадобиться произвольно переиндексировать массив данных в PHP. WordPress на самом деле не предоставляет функции для этого, поэтому автор оригинального поста (ссылка на оригинал в низу страницы) собрал этот фрагмент кода:

/** * Index a collection of arrays/objects by a specific key/property. * * @param string $index * @param array $data * @return array */ function index_by( $index, array $data ) { $indexed_data = array(); foreach( $data as $item ) { if( is_array( $item ) && array_key_exists( $index, $item ) ) { $indexed_data[$item[$index]] = $item; } else if( is_object( $item ) && property_exists( $item, $index ) ) { $indexed_data[$item->$index] = $item; } } return $indexed_data; }

Эта служебная функция может быть полезна для любого PHP-проекта. Это удобно, когда вы хотите взять индексированный массив и преобразовать его в ассоциативный массив.

Например, взять коллекцию постов и проиндексировать их по ID становится очень просто:

$posts = get_posts(); $posts_by_id = index_by( 'ID', $posts );

Эта функция будет одинаково хорошо работать с массивом объектов или массивом массивов.

Статья была переведена для блога TechBlog.SDStudio.top

Источник: wpscholar.com

Источник записи:

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее