In PHP ist ein assoziatives Array ein Array, dessen Schlüsselname eine Zeichenfolge oder eine Mischung aus Zeichenfolgen und Zahlen ist. Wenn ein Schlüsselname in einem Array keine Zahl ist, ist das Array ein assoziatives Array. Der Schlüsselname eines assoziativen Arrays kann eine beliebige Ganzzahl oder Zeichenfolge sein; wenn der Schlüsselname eine Zeichenfolge ist, muss ein begrenzender Modifikator zum Schlüsselnamen hinzugefügt werden: einfaches Anführungszeichen „''“ oder doppeltes Anführungszeichen „““.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, DELL G3-Computer
Jede Entität im Array enthält zwei Elemente, nämlich Schlüssel und Wert. Die entsprechenden Array-Elemente können über den Schlüsselwert ermittelt werden. Diese Schlüssel können numerische Schlüssel oder Assoziationsschlüssel sein. Wenn eine Variable ein Container ist, der einen einzelnen Wert speichert, dann ist ein Array ein Container, der mehrere Werte speichert.
Array kann verschiedene Datentypen speichern und ist ein zusammengesetzter Datentyp. Die Datenstruktur ist wie folgt:
In einem PHP-Array gibt es unabhängig von der Art des Schlüsselnamens einen entsprechenden Wert, d. h. ein Schlüssel/Wert-Paar Mit dem Namen des Array-Schlüssels können wir PHP-Arrays in zwei Typen unterteilen:
Arrays mit Zahlen als Schlüssel, also indizierte Arrays (Indexed Array);
Arrays mit Zeichenfolgen oder einer Mischung aus Zeichenfolgen und Zahlen als Schlüssel, also assoziative Arrays ( Assoziatives Array).
PHP Assoziatives Array
Der Index (Schlüsselname) eines assoziativen Arrays besteht aus einer Mischung aus numerischen Werten und Zeichenfolgen. Wenn ein Schlüsselname in einem Array keine Zahl ist, dann ist der array ist ein assoziatives Array.
<?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); ?>
Der Schlüsselname eines assoziativen Arrays kann eine beliebige Ganzzahl oder Zeichenfolge sein. Wenn der Schlüsselname eine Zeichenfolge ist, fügen Sie einen begrenzenden Modifikator zum Schlüsselnamen hinzu – einfaches Anführungszeichen ''
oder doppeltes Anführungszeichen "
. Um Verwirrung zu vermeiden, ist es bei indizierten Arrays am besten, Trennzeichen hinzuzufügen. ''
或双引号""
。对于索引数组,为了避免混清,最好也加上定界符。
注:键名不可以为NULL
。
扩展知识:索引数组和关联数组可以相互转换
1、关联数组转为索引数组
array_values()函数的作用是返回数组中所有元素的值
array_values(array)
使用起来非常简单,只有一个必选参数,就可以返回一个包含给定数组中所有值的数组,但不保留键名。被返回的数组将使用索引数组的形式,数组的索引从 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()函数通过合并两个数组的方式创建了一个新数组,其中$keys
数组中的元素作为了新数组的键名,$values
数组的元素为作为了新数组的键值。
array_combine($keys,$values)
但需要注意的是,使用array_combine()函数创建数组时,$keys
数组和$values
数组中的元素个数必须要一致,这才能让键名和键值一一对应,否则就会报错并返回 FALSE。
且$keys
数组不可为多维数组,否则也会报错;但$values
NULL
sein. Erweitertes Wissen: Indexarrays und assoziative Arrays können ineinander konvertiert werden
🎜🎜1. Assoziative Arrays in Indexarrays konvertieren🎜🎜🎜Die Funktion array_values() gibt die Werte aller Elemente in zurück array🎜<?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)); ?>
$keys
als Schlüssel des neuen Arrays dienen. Die Elemente des Arrays $values
dienen als Schlüsselwerte des neuen Arrays. 🎜rrreee🎜Aber es sollte beachtet werden, dass bei Verwendung der Funktion array_combine() zum Erstellen eines Arrays die Anzahl der Elemente im Array $keys
und im Array $values
angegeben werden muss Seien Sie konsistent, sodass der Schlüsselname und der Schlüsselwert eins zu eins übereinstimmen. Andernfalls wird ein Fehler gemeldet und FALSE zurückgegeben. 🎜🎜Und das Array $keys
kann kein mehrdimensionales Array sein, sonst wird ein Fehler gemeldet; aber das Array $values
kann ein mehrdimensionales Array sein. 🎜rrreee🎜🎜🎜🎜Empfohlenes Lernen: „🎜PHP-Video-Tutorial🎜“🎜Das obige ist der detaillierte Inhalt vonWas ist ein assoziatives Array in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!