-3

可能重复: PHP 自定义排序

我有一个数组,

Array
(
    [Flag]      =>  2
    [Pending]   => 11
    [Received]  => 11
    [Sent]      =>  8
    [Skip]      =>  5
    [Complaint] =>  1
    [Query]     =>  1
)

我对上述数组有两个请求:

  1. 我怎样才能将它分类为接收、发送、待处理、标记、跳过、查询、请求、投诉的顺序。

  2. 正如我们看到的“请求”在数组中不可用,我如何将它推送到值为零的数组中?

4

3 回答 3

1
$array = array
(
    "Flag" => 2
    "Pending" => 11
    "Received" => 11
    "Sent" => 8
    "Skip" => 5
    "Complaint" => 1
    "Query" => 1
);

$array["Request"] = 0;

function my_sort($a, $b) {
    $order = array("Received", "Sent", "Pending", "Flag", "Skip", "Query", "Request", "Complaint");
    return array_search($b, $order) - array_search($a, $order);
}

uksort($array, "my_sort");

print_r($array);
于 2012-11-06T16:54:41.407 回答
0

使用PHP函数usort(),您可以创建一个用户定义的函数并根据此函数的结果对数组进行排序。

于 2012-11-06T16:54:25.653 回答
0

尝试usort,然后,

$array['Request'] = 0;
于 2012-11-06T16:55:08.123 回答