答案:在 PHP 中,使用 uasort() 函數可以將陣列中的物件根據使用者定義的比較函數進行排序,同時保留原始鍵名。詳細描述:語法:uasort($array, $value_compare_func)比較函數規則:接受兩個數組元素作為參數返回-1 表示第一個參數小於第二個參數返回0 表示兩個參數相等返回1 表示第一個參數大於第二個參數實戰案例:定義一個Student 類別來表示學生物件使用uasort() 函數依照學生的年齡對$students 陣列進行排序,同時保留原始鍵名
#使用PHP 對陣列中的物件進行排序
在PHP 中,您可以使用uasort()
函數對陣列中的物件進行排序,同時保留原始鍵名。此函數使用使用者提供的比較函數,將陣列元素按升序或降序排序。
uasort ( array &$array, callable $value_compare_func ) : bool
是要排序的數組,傳遞參考以便直接修改
是使用者提供的比較函數,它接受兩個值作為參數,按升序或降序傳回它們的比較結果
<?php class Student { public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } } $students = [ "John Doe" => new Student("John Doe", 25), "Jane Smith" => new Student("Jane Smith", 22), "Peter Parker" => new Student("Peter Parker", 28) ]; uasort($students, function ($a, $b) { return $a->age <=> $b->age; }); print_r($students);
Array ( [Jane Smith] => Student Object ( [name] => Jane Smith [age] => 22 ) [John Doe] => Student Object ( [name] => John Doe [age] => 25 ) [Peter Parker] => Student Object ( [name] => Peter Parker [age] => 28 ) )
以上是使用 PHP 對陣列中的物件進行排序,保留原始鍵名的詳細內容。更多資訊請關注PHP中文網其他相關文章!