有几种方法可以实现PHP数组元素的优先级排序:
使用array_splice()方法:$arr = [1, 2, 3]; $element = 3; // 找到元素位置并删除 $key = array_search($element, $arr); $removed = array_splice($arr, $key, 1); // 在数组开头插入 array_unshift($arr, $element); print_r($arr); // [3, 1, 2]使用自定义比较函数的usort():
$arr = [1, 2, 3]; $priority = 3; // 优先级元素 usort($arr, function($a, $b) use ($priority) { if ($a == $priority) return -1; if ($b == $priority) return 1; return $a - $b; }); print_r($arr); // [3, 1, 2]使用array_unshift()和array_diff():
$arr = [1, 2, 3]; $priority = 3; // 移除优先级元素并添加到开头 $newArr = array_diff($arr, [$priority]); array_unshift($newArr, $priority); print_r($newArr); // [3, 1, 2]
网友回复