ホームページ > バックエンド開発 > PHPの問題 > キー値をPHP配列の値に変換する方法

キー値をPHP配列の値に変換する方法

PHPz
リリース: 2023-04-19 15:19:04
オリジナル
630 人が閲覧しました

PHP は非常に人気のあるサーバーサイド スクリプト言語であり、その強力な配列関数はプログラマに大きな利便性をもたらします。配列はデータを保存するために使用される構造であり、通常はキーと値のペアで構成されます。この構造により、配列内のデータにアクセスして操作することが非常に便利になります。ただし、キーと値のペアのキーを値に変換したり、値をキーに変換したりするなど、配列のキーと値を変換する必要がある場合があります。この記事では、PHP の組み込み関数を使用してこのタスクを実行する方法を紹介します。

1. 配列のキーを値に変換する

PHP の array_values 関数を使用して、配列内のキーを値に変換できます。この関数は、元の配列のすべての値を含む新しい配列を返しますが、キーの番号は付け直されます。たとえば、元の配列が次のような場合:

$fruits = array("apple" => "red", "banana" => "yellow", "orange" => "orange");
ログイン後にコピー
ログイン後にコピー

array_values 関数を使用して、次のように変換できます:

$new_fruits = array_values($fruits);
// $new_fruits = array("red", "yellow", "orange");
ログイン後にコピー

この時点で、新しい配列内の順序は元の配列と同じですが、キーが変換されてデジタルインデックスになります。これは、配列をソートする必要がある場合など、最初にキーを値に変換し、ソート後に値をキーに戻すことができるなど、場合によっては便利です。

2. 配列の値をキーに変換する

配列の値をキーに変換するには、PHP の array_flip 関数を使用できます。この関数は、元の配列の値がキーとして扱われ、元の配列のキーが値として扱われる新しい配列を返します。たとえば、元の配列が次のような場合:

$fruits = array("apple" => "red", "banana" => "yellow", "orange" => "orange");
ログイン後にコピー
ログイン後にコピー

array_flip 関数を使用して、次のように変換できます:

$new_fruits = array_flip($fruits);
// $new_fruits = array("red" => "apple", "yellow" => "banana", "orange" => "orange");
ログイン後にコピー

現時点では、新しい配列のキーは値です。元の配列のキー、およびキーの値は、元の配列のキーです。元の配列に重複した値がある場合、変換された配列には最後の値のみが残ります。

3. より複雑な変換を実現するには、array_map 関数を使用します。

array_values 関数と array_flip 関数は、最も基本的な変換タスクを完了できますが、場合によっては、より複雑な変換が必要になることがあります。この時点で、PHP の array_map 関数を使用できます。 array_map 関数は、1 つ以上の配列をパラメータとして受け入れ、各配列の要素を処理のためにコールバック関数に渡すことができます。コールバック関数の出力は新しい配列に結合されて返されます。したがって、コールバック関数に任意の変換ロジックを実装できます。

たとえば、各値が人の名前である配列があり、名前のすべての文字を大文字に変換し、変換された文字列を新しい配列のキーとして使用し、対応する値を使用するとします。元の配列の は新しい配列の値として使用され、次のように実装できます:

$names = array("Alice", "Bob", "Charlie");

$new_array = array_map(function($name) {
    $key = strtoupper($name); // 将名字转换为大写字母作为新数组的键
    $value = mt_rand(1, 100); // 假设值是一个随机数

    return [$key => $value]; // 返回一个新的数组
}, $names);

print_r($new_array);
ログイン後にコピー

出力:

Array
(
    [ALICE] => 40
    [BOB] => 55
    [CHARLIE] => 75
)
ログイン後にコピー

現時点では、新しい配列のキーは大文字です。名前には文字が含まれており、値は乱数です。実際のニーズに応じて、コールバック関数に任意の変換ロジックを実装できます。

概要

PHP の配列関数は非常に強力で、データを迅速に保存および操作するのに役立ちます。場合によっては、配列のキーと値を変換する必要があります。 PHP の array_values 関数を使用して配列キーを値に変換したり、array_flip 関数を使用して配列値をキーに変換したり、array_map 関数を使用してより複雑な変換ロジックを実装したりできます。これらの関数は、配列を迅速に変換し、プログラムの効率を向上させるのに役立ちます。

以上がキー値をPHP配列の値に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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