回答: PHP では、uasort() 関数を使用して、元のキー名を保持しながら、ユーザー定義の比較関数に従って配列内のオブジェクトを並べ替えます。詳細な説明: 構文: uasort($array, $value_compare_func) 比較関数のルール: 2 つの配列要素をパラメーターとして受け入れ、最初のパラメーターが 2 番目のパラメーターより小さい場合は 0 を返し、2 つのパラメーターが等しい場合は 1 を返します。最初のパラメータが 2 番目のパラメータより大きい場合 実際のケース: uasort() 関数を使用して、元のキー名を保持しながら、学生の年齢に従って $students 配列を並べ替えます。
PHP を使用して配列内のオブジェクトを並べ替える
PHP では、uasort()## を使用できます。 # 元のキー名を保持したまま配列内のオブジェクトを並べ替える関数。この関数は、ユーザー指定の比較関数を使用して、配列要素を昇順または降順に並べ替えます。
uasort (配列 &$array、呼び出し可能な $value_compare_func): bool
はソート対象の配列で、直接変更するために参照によって渡されます。
は 2 つの値を引数として受け取るユーザー指定の比較関数です。昇順で、または降順で比較結果を返します。
<?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 中国語 Web サイトの他の関連記事を参照してください。