+
91
-

回答

有几种方法可以实现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]

网友回复

我知道答案,我要回答