โค้ดตัวอย่าง
โค้ด: เลือกทั้งหมด
<?php
function cmp($a, $b)
{
$a = preg_replace('@^(a|an|the) @', '', $a); //ตัวแปรที่กำหนดว่า ให้ขึ้นเรียงก่อน
$b = preg_replace('@^(a|an|the) @', '', $b);
return strcasecmp($a, $b);
}
$a = array("a baaaaaaaab" => 1, "the aaaaaaaaac" => 2, "an baaaaaaaaa" => 3, "a baaaaaaaaa" => 4); //กำหนดค่าให้ข้อมูล
uksort($a, "cmp"); //เรียงตาม $a
foreach ($a as $key => $value) {
echo "$key: $value.<br>";
}
?>
เราจะสังเกตได้ว่า ตัวแปรที่ อยู่หลัง a จะเรียงตามกันมาเรื่อยๆ แล้วตัวหน้าก็จะเป็นหลักว่า ในเลข2 จะเห็นได้ว่า the มาก่อน แล้วต่อด้วย a เลยต้องขึ้นเรียงเป็นอันดับแรก และอันที่ 3 ก็ขึ้นด้วย the เหมือนกันแต่ว่า ตามด้วย ac เลยไม่ได้ขึ้นก่อน อ้างอิง
1 https://www.w3resource.com/php/function-reference/uksort.php
2 https://www.php.net/manual/en/function.uksort.php
3 https://www.w3schools.com/php/func_array_uksort.asp