ホームページ > バックエンド開発 > PHPチュートリアル > PHP 配列キー値の反転: 効率的なソリューションの探索

PHP 配列キー値の反転: 効率的なソリューションの探索

王林
リリース: 2024-05-01 15:00:03
オリジナル
1055 人が閲覧しました

配列のキーと値の反転は、さまざまな効率的な方法を通じて PHP で実現できます。array_flip() 関数を使用してキーと値を直接交換します。 array_combine() を使用して、値とキーを新しい配列に結合するカスタム関数を作成します。マッピング関数 array_map() および array_column() を使用して、配列構造を変換し、再結合します。パフォーマンスを比較すると、小さい配列では array_flip() 関数が最も高速ですが、配列サイズが大きい場合にはカスタム関数とマッピング関数が有利であることがわかります。

PHP 数组键值颠倒:高效方案探究

PHP 配列キー値の反転: 効率的なソリューション探索

配列キー値の反転、つまりキーと値の交換配列内で、これは PHP で一般的な操作です。この記事では、いくつかの効率的なソリューションを検討し、実際のケースを通じてそれらを実証します。

方法 1: array_flip() 関数

$array = ['name' => 'John Doe', 'age' => 30];
$flipped_array = array_flip($array);
print_r($flipped_array);
ログイン後にコピー

出力:

Array
(
    [John Doe] => name
    [30] => age
)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

方法 2: カスタム関数

function flip_array($array) {
    return array_combine(array_values($array), array_keys($array));
}

$array = ['name' => 'John Doe', 'age' => 30];
$flipped_array = flip_array($array);
print_r($flipped_array);
ログイン後にコピー

出力:

Array
(
    [John Doe] => name
    [30] => age
)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

メソッド 3: マッピング関数

$array = ['name' => 'John Doe', 'age' => 30];
$flipped_array = array_map(function($key, $value) { return [$value, $key]; }, array_keys($array), array_values($array));
$flipped_array = array_combine(array_column($flipped_array, 0), array_column($flipped_array, 1));
print_r($flipped_array);
ログイン後にコピー

出力:

Array
(
    [John Doe] => name
    [30] => age
)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

パフォーマンスの比較

##配列サイズが小さい場合、array_flip() 関数が最も高速です。配列が大きい場合、カスタム関数とマッピング関数のパフォーマンスが向上します。

実用的なケース

配列キー値の反転は、次のようなさまざまなシナリオで使用できます。

    ユーザー ID からユーザー名へのマッピング
  • 国コードから国名へのマッピング
  • 逆索引を作成して検索速度を向上させます

以上がPHP 配列キー値の反転: 効率的なソリューションの探索の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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