0

私はこのような配列を持っています:

    $array[] = array(
        "name" => "sample",
        "image" => "sample.jpg",
        "header" => "sampleDelights",
        "intro_copy" => ""
    );
    $array[] = array(
        "name" => "lwmag",
        "image" => "lwmag.jpg",
        "header" => "LW Mag",
        "intro_copy" => ""
    );

PHPのキー「ヘッダー」からのアルファベット順にこの配列を並べ替えたいと思います。usortを試し、組み込み関数を検索しましたが、見つかりません(またはそれを過ぎて見ています)。これは単一のphp関数で可能ですか?

4

2 に答える 2

0

「ksort」をご覧ください

キーで配列を配置するのに非常に便利です。

<?php
$sample = array("d" => "maximum", "a" => "minimum", "c" => "mid")
ksort($sample);
foreach ($sample as $key => $val) {
echo "$key = $val \n";
}
?>

表示されます

a = minimum
c = mid
d = maximum

うまくいけば、それはあなたが求めているものです。

出典:PHPマニュアル

于 2013-02-21T22:55:41.450 に答える
0

php.netからこの関数を見てください

function array_sort($array, $on, $order=SORT_ASC)
{
    $new_array = array();
    $sortable_array = array();

    if (count($array) > 0) {
        foreach ($array as $k => $v) {
            if (is_array($v)) {
                foreach ($v as $k2 => $v2) {
                    if ($k2 == $on) {
                        $sortable_array[$k] = $v2;
                    }
                }
            } else {
                $sortable_array[$k] = $v;
            }
        }

        switch ($order) {
            case SORT_ASC:
                asort($sortable_array);
            break;
            case SORT_DESC:
                arsort($sortable_array);
            break;
        }

        foreach ($sortable_array as $k => $v) {
            $new_array[$k] = $array[$k];
        }
    }

    return $new_array;
}
于 2013-02-21T22:58:23.800 に答える