Я пишу php-приложение, где у меня есть вложенный массив, который выглядит примерно так:
$results = array( array( array( 'ID' => 1, 'Name' => 'Hi' ) ), array( array( 'ID' => 2, 'Name' => 'Hello' ) ), array( array( 'ID' => 3, 'Name' => 'Hey' ) ) );
В настоящее время это означает, что когда я хочу использовать поле ID, мне нужно вызывать $results[0][0]['ID']
который довольно неэффективен и с массивом из более чем нескольких сотен записей становится беспорядочным. Я хотел бы уменьшить размер массива, чтобы вместо этого я мог вызывать $results[0]['ID']
.
Я понимаю, что функция, которая использует цикл foreach для итерации по каждой строке в массиве и изменения формата, будет лучшим способом изменить формат массива $results
но я изо всех сил пытаюсь понять, что делать после foreach loop имеет каждый начальный массив.
Вот код, который у меня есть до сих пор:
public function filterArray($results) { $outputArray = array(); foreach ($results as $key => $row) { } return $outputArray; }
Кто-нибудь сможет предложить самый эффективный способ добиться того, что я хочу?
Благодаря 🙂
Просто используйте call_user_func_array
как
$array = call_user_func_array('array_merge', $results); print_r($array);
демонстрация