asort を実行すると、次のように見える $array という配列があるとします。
Array
(
[1] => Apples
[2] => Bananas
[3] => Cherries
[4] => Donuts
[5] => Eclairs
[6] => Fried_Chicken
)
アルファベット順に並べ替えた後、「Donuts」という値を持つキーを削除して最後に配置する最も簡単な方法は何ですか?
ドーナツ要素を削除し、を実行してasort
から、ドーナツアイテムを追加し直します。
私はこれを思いついた。それをテストし、動作することを確認しました。実際に並べ替えを確認できるように、配列を並べ替えました。
$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/