PHP ʖ²ἯTH º󍋼/A usort ˵÷ =ד 1. usort() =ד function cmp ($a, $b) {if ($a == $b) return 0; return ($a $b)? -1: 1;} $a = array (3, 2, 5, 6, 1); usort ($a, "cmp"); while (list ($key, $value) = each ($a)) {echo "$key: $value\n";} ±¾=½«ϔʾ£º 0: 6 1: 5 2: 3 3: 2 4: 1 =ד 2. ʹӃ¶άʽשµĠusort() =ד function cmp ($a, $b) {return strcmp($a["fruit"], $b["fruit"]);} $fruits[0]["fruit"] = "lemons"; $fruits[1]["fruit"] = "apples"; $fruits[2]["fruit"] = "grapes"; usort($fruits, "cmp"); while (list ($key, $value) = each ($fruits)) {echo "\$fruits[$key]: ". $value["fruit"]. "\n";} ±¾=½«ϔʾ£º $fruits[0]: apples $fruits[1]: grapes $fruits[2]: lemons =ד 3. ʹӃ¶ԏ󵄳ɔ±º¯ʽµĠ usort() =ד class TestObj {var $name; function TestObj($name) {$this- name = $name;} /* This is the static comparing function: */ function cmp_obj($a, $b) {$al = strtolower($a- name); $bl = strtolower($b- name); if ($al == $bl) return 0; return ($al $bl)? +1: -1;}} $a[] = new TestObj("c"); $a[] = new TestObj("b"); $a[] = new TestObj("d"); uasort($a, array ("TestObj", "cmp_obj")); foreach ($a as $item) {print $item- name."\n";} b c d º󍋼/A ưµ㼯A uksort ɏһ¼¶ Aspell functions [deprecated]