ホームページ > バックエンド開発 > PHPの問題 > PHPのインデックスと連想配列の変換

PHPのインデックスと連想配列の変換

王林
リリース: 2023-05-19 10:38:37
オリジナル
614 人が閲覧しました

PHP は、動的な Web ページの作成に使用される非常に人気のあるサーバー側スクリプト言語です。 PHP では、配列はデータのセットを格納するために使用される重要なデータ型です。 PHP の配列は、インデックス付き配列と連想配列の 2 種類に分類できます。インデックス付き配列はインデックスとして数値キーを使用しますが、連想配列はインデックスとして文字列キーを使用します。この記事では、PHP でインデックス付き配列と連想配列を変換する方法について説明します。

  1. インデックス配列から連想配列への変換

インデックス配列から連想配列への変換は一般的な操作です。インデックス配列の各値を連想配列のキーとして使用し、各キーにデフォルト値を割り当てることができます。以下に、インデックス配列を連想配列に変換する方法を示す例を示します。

$index_array = array('apple', 'banana', 'orange');
$length = count($index_array);
$default_value = 0;

$associative_array = array();
for ($i = 0; $i < $length; $i++) {
    $key = $index_array[$i];
    $associative_array[$key] = $default_value;
}

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

上記のコードでは、最初に 3 つの果物の名前を含むインデックス配列 $index_array を作成します。また、新しく作成された連想配列のすべてのキーに割り当てられるデフォルト値 0 を定義します。次に、空の連想配列 $associative_array を作成し、ループを使用してインデックス配列のすべての値を反復処理します。各値について、それを連想配列のキーとして設定し、デフォルト値の 0 を割り当てます。最後に、print_r() 関数を使用して、新しく作成した連想配列を出力します。このコードを実行すると、次の結果が出力されます。

Array
(
    [apple] => 0
    [banana] => 0
    [orange] => 0
)
ログイン後にコピー

上記の出力では、各キーがインデックス配列の値である新しい連想配列が正常に作成され、デフォルト値 0 が割り当てられていることがわかります。 。

  1. 連想配列をインデックス配列に変換する

連想配列をインデックス配列に変換するときに注意する必要がある問題がいくつかあります。連想配列のキーが文字列の場合、新しいインデックス付き配列のキーとして使用するには、これらのキーを数値に変換する必要があります。これは、PHP の array_values() 関数を使用して実行できます。以下に、連想配列をインデックス付き配列に変換する方法を示す例を示します。

$associative_array = array(
    'apple' => 10,
    'banana' => 20,
    'orange' => 30
);

$indexed_array = array_values($associative_array);

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

上記のコードでは、3 つの果物とそれらに対応する価格を含む連想配列を作成しました。次に、array_values() 関数を使用して、連想配列をインデックス付き配列に変換します。最後に、print_r() 関数を使用して、新しく作成されたインデックス配列を出力します。このコードを実行すると、以下が出力されます。

Array
(
    [0] => 10
    [1] => 20
    [2] => 30
)
ログイン後にコピー

上記の出力では、元の連想配列のすべての値を含む新しいインデックス付き配列が正常に作成されたことがわかりますが、キーは含まれていません。これは、array_values() 関数を使用して連想配列からすべての値を抽出し、新しい配列に格納したためです。

  1. インデックス配列と連想配列のマージ

インデックス配列と連想配列を個別に変換するだけでなく、2 つの配列を新しい配列にマージすることもできます。この場合、連想配列のキーはインデックス付き配列のキーとして使用されます。以下に、インデックス配列と連想配列を新しい配列にマージする方法を示す例を示します。

$index_array = array('apple', 'banana', 'orange');
$associative_array = array(
    'apple' => 10,
    'banana' => 20,
    'orange' => 30
);

$merged_array = array_merge($index_array, $associative_array);

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

上記のコードでは、まずインデックス配列 $index_array と連想配列 $associative_array を作成します。次に、array_merge() 関数を使用して、これら 2 つの配列を新しい配列 $merged_array にマージします。最後に、print_r() 関数を使用して、新しく作成された配列を出力します。このコードを実行すると、次の結果が出力されます。

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [apple] => 10
    [banana] => 20
    [orange] => 30
)
ログイン後にコピー

上記の出力では、インデックス配列と連想配列が新しい配列に正常にマージされ、この配列には元のすべての値が含まれていることがわかります。と配列内のキー。

概要:

PHP では、インデックス配列と連想配列は非常に重要なデータ型です。場合によっては、ある型の配列を別の型の配列に変換したり、それらを新しい配列にマージしたりする必要があります。必要な配列の種類に関係なく、PHP でそれを行う方法がいくつかあります。この記事では、PHP で配列を始めるのに役立つ基本的なコード例をいくつか紹介します。

以上がPHPのインデックスと連想配列の変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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