参照配列を使用した配列の並べ替えのカスタマイズ
PHP では、配列をさまざまな方法で並べ替えることができますが、並べ替えるのが難しい場合があります。別の配列に基づいて特定の順序で。この記事では、この問題の解決策を提供し、事前定義されたキー順序に基づいてフラット連想配列を並べ替える方法を説明します。
提案された解決策は、array_merge 関数または array_replace 関数を利用します。これらの関数は 2 つの配列を引数として受け取ります。最初の配列は目的の順序 (キーと値のペアの形式で) を指定し、2 番目の配列には並べ替えられる実際のデータが含まれます。
これらの関数の仕組みは次のとおりです。
array_merge: 順序配列から開始し、実際の配列のデータでキーを上書きまたは追加することにより、2 つの配列をマージします。 array.
array_replace: これは array_merge と同じことを行いますが、既存のキーを上書きするだけです。
次の例を考えてみましょう。
$customer['address'] = '123 fake st'; $customer['name'] = 'Tim'; $customer['dob'] = '12/08/1986'; $customer['dontSortMe'] = 'this value doesnt need to be sorted'; $properOrderedArray = array_merge(array_flip(array('name', 'dob', 'address')), $customer);
この例ではたとえば、array_flip は要素 ('name'、'dob'、'address') がキーとなる配列を作成します。そしてキーは値になります。これは順序配列として機能します。この順序配列を $customer とマージすることで、実際のデータを保持しながら、必要なキー順序で $properOrderedArray が生成されます。
結果の $properOrderedArray は次のようになります。
array( 'name' => 'Tim', 'dob' => '12/08/1986', 'address' => '123 fake st', 'dontSortMe' => 'this value doesnt need to be sorted')
このアプローチにより、事前定義された順序配列に基づいてフラット連想配列を柔軟に並べ替え、キーとそれに対応する値の正しい順序を保証します。
以上が定義済みのキー順序に基づいて PHP 配列を並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。