У меня есть этот вывод:
Array ( [0] => Array ( [id] => 4 [username] => bla1 ) [1] => Array ( [id] => 5 [username] => bla2 ) [2] => Array ( [id] => 6 [username] => bla3 ) )
Как я могу сортировать 3 массива внутри этого внешнего массива по имени пользователя?
Это то, что я пробовал:
if($this->needOrder) { $sorted = []; foreach($files as $file) { $sorted[] = asort($tableFile); } return $sorted; }
$files
имеет содержимое кода выше. asort()
предназначен только для тестирования, если он работает. Но мое возвращение:
Array ( [0] => 1 [1] => 1 [2] => 1 )
Использовать usort ()
$arr = Array( array('id' => 4,'username' => 'bla2'), array('id' => 5,'username' => 'bla3'), array('id' => 6,'username' => 'bla1'), ); function custom_sort($a, $b) { return strnatcmp($a['username'], $b['username']); } usort($arr, "custom_sort"); print '<pre>'; print_r($arr); print '</pre>';
Вывод:
Array ( [0] => Array ( [id] => 4 [username] => bla1 ) [1] => Array ( [id] => 4 [username] => bla2 ) [2] => Array ( [id] => 4 [username] => bla3 ) )