0

asort を実行すると、次のように見える $array という配列があるとします。

Array
(
    [1] => Apples
    [2] => Bananas
    [3] => Cherries
    [4] => Donuts
    [5] => Eclairs
    [6] => Fried_Chicken
)

アルファベット順に並べ替えた後、「Donuts」という値を持つキーを削除して最後に配置する最も簡単な方法は何ですか?

4

2 に答える 2

6

ドーナツ要素を削除し、を実行してasortから、ドーナツアイテムを追加し直します。

于 2012-11-06T20:45:56.050 に答える
1

私はこれを思いついた。それをテストし、動作することを確認しました。実際に並べ替えを確認できるように、配列を並べ替えました。

$arr = Array(
  1 => "Fried_Chicken",
  2 => "Donuts",
  3 => "Bananas",
  4 => "Apples",
  5 => "Eclairs",
  6 => "Cherries"
);  

// Get donut and key
$donut_key = array_search("Donuts", $arr);
$donut = $arr[$donut_key];  // If you don't need to keep the value, skip this line

// Remove donut
unset($arr[$donut_key]);

// Sort
asort($arr);

// Append Donut
$arr += array($donut_key => $donut);

配列検索 http://php.net/manual/en/function.array-search.php

キー保存追加 http://www.vancelucas.com/blog/php-array_merge-preserving-numeric-keys/

于 2012-11-06T21:34:05.537 に答える