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

PHPで添字配列を連想配列に変換する方法

PHPz
リリース: 2023-04-19 13:51:05
オリジナル
445 人が閲覧しました

PHP 開発では、一部の操作を容易にするために添字配列を連想配列に変換する必要がある場合があります。この記事では、PHPを使って添字配列を連想配列に変換する方法を紹介します。

  1. array_combine 関数

array_combine 関数は、PHP 自体が提供する関数で、2 つの配列を結合して 1 つの連想配列にすることができます。この関数を使用して、添字付き配列を連想配列に変換できます。例は次のとおりです。

<?php
$keys   = array(&#39;a&#39;, &#39;b&#39;, &#39;c&#39;);
$values = array(1,   2,   3);

$result = array_combine($keys, $values);

print_r($result);
?>
ログイン後にコピー

実行結果は次のとおりです。

Array
(
    [a] => 1
    [b] => 2
    [c] => 3
)
ログイン後にコピー

上記の結果からわかるように、元の添え字配列を連想配列に変換することができました。このうち、$keysパラメータは連想配列のキー名を表し、$valuesパラメータは連想配列のキー値を表します。 2 つの配列の要素の数が同じでない場合、不正確な結果が生じるため、2 つの配列の要素の数が等しいことを確認してください。

  1. 手動実装

添字配列を手動で連想配列に変換することもできます。例は次のとおりです。

<?php
$numbers = array(1, 2, 3);
$letters = array(&#39;a&#39;, &#39;b&#39;, &#39;c&#39;);

$combined_array = array();

foreach($numbers as $key=>$value) {
    $combined_array[$value] = $letters[$key];
}

print_r($combined_array);
?>
ログイン後にコピー

実行結果は次のとおりです。

Array
(
    [1] => a
    [2] => b
    [3] => c
)
ログイン後にコピー

キー値と添え字配列の値を走査し、それらをキーとして使用します。値と連想配列の値。

  1. array_map 関数を使用する

さらに、PHP の array_map 関数を使用して添え字配列を連想配列に変換することもできます。例は次のとおりです。

<?php
$numbers = array(1, 2, 3);
$letters = array(&#39;a&#39;, &#39;b&#39;, &#39;c&#39;);

$combined_array = array_map(null, $numbers, $letters);

print_r($combined_array);
?>
ログイン後にコピー

実行結果は次のとおりです。

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => a
        )

    [1] => Array
        (
            [0] => 2
            [1] => b
        )

    [2] => Array
        (
            [0] => 3
            [1] => c
        )

)
ログイン後にコピー

結果からわかるように、array_map 関数は 2 次元配列を返します。連想配列に変換されます。

上記は、PHP 添字配列を連想配列に変換するためのいくつかの方法です。どちらの方法を使用する場合でも、2 つの配列の要素の数が等しいことに注意してください。そうでない場合、誤った結果が生じる可能性があります。

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

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