-3

重複の可能性: PHPカスタムソート

私は配列を持っています、

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

上記の配列に対して2つのリクエストがあります。

  1. これをReceived、Sent、Pending、Flag、Skip、Query、Request、Complaintの順に並べ替えるにはどうすればよいですか。

  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 に答える