ホームページ > バックエンド開発 > PHPチュートリアル > PHP 連想配列のキーをカスタムソートするにはどうすればよいですか?

PHP 連想配列のキーをカスタムソートするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-21 03:56:10
オリジナル
705 人が閲覧しました

How Can I Custom Sort the Keys of a PHP Associative Array?

非階層連想配列のカスタム キー ソート

PHP では、連想配列をアルファベット順または数値順に並べ替えることはできません。デフォルト。ただし、別の配列に基づいてカスタムの並べ替え順序を作成することは可能です。

カスタム キー ソートを実装する関数

カスタム キーを実行する関数を作成するには、-並べ替えるには、array_merge() 関数または array_replace() 関数を使用できます。これらの関数は両方とも 2 つの配列を入力として受け取ります。最初の配列は目的のキーの順序を指定し、2 番目の配列には並べ替える実際のデータが含まれます。

以下のコードは、この関数の実装方法を示しています。

function sortArrayByArray($inputArray, $sortKeysArray) {
  return array_merge(array_flip($sortKeysArray), $inputArray);
}
ログイン後にコピー

使用例

次の例を考えてみましょうarray:

$customer['address'] = '123 fake st';
$customer['name'] = 'Tim';
$customer['dob'] = '12/08/1986';
$customer['dontSortMe'] = 'this value doesnt need to be sorted';
ログイン後にコピー

$sortKeysArray で指定されたキーの順序に基づいてこの配列を並べ替えるには、次のように sortArrayByArray() 関数を使用できます。

$sortKeysArray = ['name', 'dob', 'address'];
$properOrderedArray = sortArrayByArray($customer, $sortKeysArray);
ログイン後にコピー

結果の $properOrderedArray

[
  'name' => 'Tim',
  'dob' => '12/08/1986',
  'address' => '123 fake st',
  'dontSortMe' => 'this value doesnt need to be sorted'
]
ログイン後にコピー

キーは指定された順序に従ってソートされることに注意してください。 $sortKeysArray に保存され、値は保持されます。ソート不可能なキー (「dontSortMe」) が配列の末尾に追加されます。

このアプローチを使用すると、PHP で非階層連想配列のカスタム キー ソートを実現し、配列キーが確実に特定の方法で注文されました。

以上がPHP 連想配列のキーをカスタムソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート