1

私はここで死にかけています。どんな助けも素晴らしいでしょう。

特定のキーの値で az を並べ替えることができるが、逆 za で並べ替えることができない配列があります。

ProjectName (za) で並べ替えたい配列のサンプル:

Array
( 
 [0] => Array
    (
        [count] => 1
        [ProjectName] => bbcjob
        [Postcode] => 53.471922,-2.2996078
        [Sector] => Public

    )

[1] => Array
    (
        [count] => 1
        [ProjectName] => commercial enterprise zone
        [Postcode] => 53.3742081,-1.4926439
        [Sector] => Public

    )

[2] => Array
    (
        [count] => 1
        [ProjectName] => Monkeys eat chips
        [Postcode] => 51.5141492,-0.2271227
        [Sector] => Private

望ましい結果は、配列キー -> 値構造全体を維持することですが、順序は次のとおりです。

サルはチップを食べる
商業企業ゾーン
bbcjob

これが理にかなっていることを願っています

4

1 に答える 1

3

これは、比較を行う関数を定義し、それに基づいて配列をソートできるusortのジョブです。

function cmp($a, $b)
{
    return strcmp($b["ProjectName"], $a["ProjectName"]);
}

usort($yourArray, "cmp");

print_r($yourArray);

編集:コメントに基づいて、実行された並べ替えの順序を逆にするには、関数で$xandを逆にする必要があります。$y

function name_sort($x, $y) 
{
    return strcasecmp($y['ProjectName'], $x['ProjectName']); 
}
于 2013-11-03T21:40:56.153 に答える