PHP では、連想配列は、キー名が文字列、または文字列と数値の混合である配列です。配列内のキー名が数値でない場合、その配列は連想配列です。連想配列のキー名には、任意の整数または文字列を使用できます。キー名が文字列の場合は、一重引用符「''」または二重引用符「""」の区切り修飾子をキー名に追加する必要があります。
このチュートリアルの動作環境: Windows7 システム、PHP バージョン 8.1、DELL G3 コンピューター
配列内の各エンティティには 2 つの項目が含まれます。それぞれキーと値。対応する配列要素は、数値キーまたは関連付けキーのキー値によって取得できます。変数が単一の値を格納するコンテナである場合、配列は複数の値を格納するコンテナです。
配列はさまざまな種類のデータを格納でき、複合データ型です。データ構造は次のとおりです。
PHP 配列では、キー名の種類に関係なく、それに対応する値が存在します。配列のキー名のデータ型に応じて、PHP 配列を 2 つのタイプに分けることができます。
キー名として数字を持つ配列、つまりインデックス付きの配列配列 (インデックス付き配列);
キー名が文字列または文字列と数値の混合である配列、つまり連想配列。
PHP 連想配列
連想配列の添え字 (キー名) は数値の混合ですおよび文字列の構成では、配列内のキー名が数値でない場合、その配列は連想配列になります。
<?php header("Content-type:text/html;charset=utf-8"); echo "索引数组:"; $arr1 = array('0' => '苹果','1' => '香蕉','2' => '橘子','3' => '李子','4' => '草莓'); var_dump($arr1); echo "关联数组:"; $arr2 = array('Apple' => '苹果','Banana' => '香蕉','Orange' => '橘子','Plum' => '李子','Strawberry' => '草莓'); var_dump($arr2); $arr3 = array('苹果','香蕉','橘子','Plum' => '李子','草莓'); var_dump($arr3); ?>
連想配列のキー名には、任意の整数または文字列を使用できます。キー名が文字列の場合は、キー名に区切り修飾子 (一重引用符 ''
または二重引用符 ""
) を追加します。インデックス付き配列の場合、混乱を避けるために、区切り文字を追加することをお勧めします。
注: キー名を NULL
にすることはできません。
#拡張知識: インデックス配列と連想配列は相互に変換できます
1. 連想配列をインデックス配列に変換する
array_values() 関数は、配列内のすべての要素の値を返しますarray_values(array)使い方は非常に簡単です。必須パラメータを 1 つだけ使用すると、指定された配列内のすべての値を含む配列ですが、キー名は保持されません。返される配列はインデックス付き配列の形式で、配列インデックスは 0 から始まり 1 ずつ増加します。 簡単に言えば、この関数を使用すると、配列のキー名をリセットし、紛らわしい文字列や数値が含まれたキー名を、0 から始まり 1 ずつ増加する数値キー名に変換できます。 array_values() 関数は、要素の添字がわかりにくい配列 (数値キーはリセット可能)、または連想配列をインデックス付き配列に変換するのに特に適しています。
<?php header('content-type:text/html;charset=utf-8'); $arr=array("Peter"=>65,"Harry"=>80,"John"=>78,"Clark"=>90,2,3,4); echo "原数组:"; var_dump($arr); $res=array_values($arr); echo "转为索引数组后:"; var_dump($res); ?>
2. インデックス配列を連想配列に変換
array_combine() 関数は 2 つの配列を結合して配列を作成します 新しい配列ここで、$keys 配列内の要素は新しい配列のキーとして機能し、
$values 配列内の要素は新しい配列のキーとして機能します。
array_combine($keys,$values)ただし、array_combine() 関数を使用して配列を作成する場合、
$keys 配列内の要素の数と
$values に注意してください。この方法でのみキー名とキー値を 1 対 1 に対応させることができ、そうでない場合はエラーが報告され、FALSE が返されます。
$keys 配列は多次元配列にすることはできません。そうでない場合は、エラーが報告されます。
ただし、$values 配列は多次元配列にすることができます。 。
<?php header("Content-type:text/html;charset=utf-8"); $keys=array("a","b","c","d"); $values=array("red","green","blue","yellow"); var_dump($keys); var_dump($values); echo "使用array_combine()合并数组后:"; var_dump(array_combine($keys,$values)); ?>推奨学習: 「
PHP ビデオ チュートリアル 」
以上がPHPの連想配列とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。