PHP では、配列のキーと値は次のメソッドを通じて交換できます: array_flip() 関数: 単純な構文、キーと値の直接交換、時間計算量 O(n)。カスタム機能: 柔軟性があり、ニーズに応じてカスタマイズできますが、時間の計算量も O(n) です。シフト演算子: PHP の知識が必要ですが、場合によってはより効率的ですが、所要時間は O(n) です。
PHP では、配列のキーと値を交換する必要があることがよくあります。処理。これを行うには複数の方法があり、それぞれに長所と短所があります。
array_flip()
この関数は、配列値を交換するために直接使用される PHP によって提供される組み込み関数です。そして鍵。使い方は非常に簡単で、元の配列をパラメータとして渡すだけです:
$originalArray = [ 'name' => 'John Doe', 'age' => 30, ]; $flippedArray = array_flip($originalArray); print_r($flippedArray);
出力:
Array ( [John Doe] => name [30] => age )
カスタム関数を定義することもできます。配列の値とキーを交換するには:
function flipArray($array) { $flippedArray = []; foreach ($array as $key => $value) { $flippedArray[$value] = $key; } return $flippedArray; }
このカスタム関数は array_flip()
関数と同様に機能しますが、柔軟性が高くなります。たとえば、特殊なケースを処理するロジックを追加したり、必要に応じて出力形式を変更したりできます。
置換演算子 (=>
) を使用して、配列のキーと値を交換することもできます。このアプローチには、一定レベルの PHP の知識が必要ですが、場合によっては他のアプローチよりも効率的である可能性があります。
$originalArray = [ 'name' => 'John Doe', 'age' => 30, ]; $flippedArray = []; foreach ($originalArray as $key => $value) { $flippedArray[$value] = $key; }
実用的なケース
次の配列があるとします。製品情報。製品名に基づいて価格を取得する必要があります。値とキーの交換を使用して配列をすばやく変換し、必要な価格データを簡単に見つけることができます。
$products = [ 'Apple' => 10, 'Orange' => 5, ]; // 使用 array_flip() 互换键和值 $flippedProducts = array_flip($products); // 根据产品名称获取价格 $price = $flippedProducts['Orange'];
上記の例では、$price
に製品 Orange# # が含まれるようになります。 # 元の配列全体を走査せずに価格を見つけます。
時間計算量 | |
---|---|
O(n) |
|
O(n) | |
O(n) |
以上がPHP 配列の値とキーの交換: 実装とパフォーマンスの比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。