PHP 配列キー値の交換: 最適なソリューションの選択

PHPz
リリース: 2024-04-30 16:15:01
オリジナル
677 人が閲覧しました

PHP のキーと値の交換には 3 つの最適なソリューションがあります。array_flip() 関数は一意のキーと値の配列を素早く交換できます。array_combine() 関数は 2 つの配列を結合して新しいカスタム配列を形成できます。繰り返し 値の処理などの高度な要件。最適なソリューションの選択は、キー値の一意性、重複値の数、効率の考慮事項によって決まります。

PHP 数组键值对调:最佳方案的选择

PHP 配列キーと値の交換: 最適なソリューションの選択

PHP では、配列キーの需要が非常に高くなります。 -値の交換が一般的です。この記事では、最も効果的な方法をいくつか取り上げ、具体的な例を示して詳しく説明します。

方法 1: array_flip() 関数を使用する

array_flip() は、キーと値を交換できる組み込み関数です。配列の。構文は次のとおりです。

$new_array = array_flip($array);
ログイン後にコピー

利点:

  • シンプルで効率的です。
  • 元の配列を変更しないでください。

欠点:

  • 値の一意性が必要です。重複した値が存在すると、上書きの状況が発生します。

実際的なケース:

['name' => 'John', 'age' => 配列のキー値を交換します。

$array = ['name' => 'John', 'age' => 30];
$new_array = array_flip($array);

foreach ($new_array as $key => $value) {  // 遍历新数组
    echo "$key: $value<br>";
}
ログイン後にコピー

出力:

John: name
30: age
ログイン後にコピー
ログイン後にコピー

方法 2: array_combine() 関数を使用する

array_combine() この関数では、次の 2 つを使用できます。 Array は、1 つの配列をキーとして、別の配列を値として持つ新しい配列を生成します。構文は次のとおりです:

$new_array = array_combine($keys, $values);
ログイン後にコピー

利点:

  • 重複した値をキーまたは値として使用できます。

欠点:

  • 2 つの別々のアレイを準備する必要があります。

実際的なケース:

キーを ['John', 'Mary'] に変更し、値を変更する必要があるとします。 to [30, 25] の 2 つの配列が新しい配列に結合されます。

$keys = ['John', 'Mary'];
$values = [30, 25];
$new_array = array_combine($keys, $values);

foreach ($new_array as $key => $value) {  // 遍历新数组
    echo "$key: $value<br>";
}
ログイン後にコピー

出力:

John: 30
Mary: 25
ログイン後にコピー

方法 3: カスタム関数を使用する

独自の関数を作成して、キーと値の交換関数を実現することもできます。構文は次のとおりです。

function flip_array($array) {
    $new_array = [];
    foreach ($array as $key => $value) {
        $new_array[$value] = $key;
    }
    return $new_array;
}
ログイン後にコピー

利点:

  • 動作をカスタマイズ可能 (重複値の処理など)。

欠点:

  • 特に大規模なアレイの場合、効率が低下します。

実際的なケース:

このカスタム関数を使用して、['name' => 'John', 'age' = を反転できます。 > 30] 配列のキー値。

function flip_array($array) {  // 使用自定义函数
    $new_array = [];
    foreach ($array as $key => $value) {
        $new_array[$value] = $key;
    }
    return $new_array;
}

$array = ['name' => 'John', 'age' => 30];
$new_array = flip_array($array);

foreach ($new_array as $key => $value) {  // 遍历新数组
    echo "$key: $value<br>";
}
ログイン後にコピー

出力:

John: name
30: age
ログイン後にコピー
ログイン後にコピー

最適なソリューションの選択

最適なソリューションの選択は、特定のニーズによって異なります:

  • 一意のキー値: array_flip() を使用します。
  • 重複する値を許可します: array_combine() を使用します。
  • カスタム処理: カスタム関数を使用します。

次の要素に基づいて効率を検討してください。

  • 配列サイズ: array_flip() および array_combine() は通常、もっと早く。
  • 重複する値の数: 重複する値が増えると、カスタム関数の効率が低下します。

以上がPHP 配列キー値の交換: 最適なソリューションの選択の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!