Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist ein assoziatives Array in PHP?

Was ist ein assoziatives Array in PHP?

青灯夜游
青灯夜游Original
2022-09-30 16:13:054672Durchsuche

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 „““.

"Was

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:

"Was

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(&#39;0&#39; => &#39;苹果&#39;,&#39;1&#39; => &#39;香蕉&#39;,&#39;2&#39; => &#39;橘子&#39;,&#39;3&#39; => &#39;李子&#39;,&#39;4&#39; => &#39;草莓&#39;);
var_dump($arr1);

echo "关联数组:";
$arr2 = array(&#39;Apple&#39; => &#39;苹果&#39;,&#39;Banana&#39; => &#39;香蕉&#39;,&#39;Orange&#39; => &#39;橘子&#39;,&#39;Plum&#39; => &#39;李子&#39;,&#39;Strawberry&#39; => &#39;草莓&#39;);
var_dump($arr2);
$arr3 = array(&#39;苹果&#39;,&#39;香蕉&#39;,&#39;橘子&#39;,&#39;Plum&#39; => &#39;李子&#39;,&#39;草莓&#39;);
var_dump($arr3);
?>

"Was

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(&#39;content-type:text/html;charset=utf-8&#39;);  
$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);
?>

"Was

2、索引数组转为关联数组

array_combine()函数通过合并两个数组的方式创建了一个新数组,其中$keys数组中的元素作为了新数组的键名,$values数组的元素为作为了新数组的键值。

array_combine($keys,$values)

但需要注意的是,使用array_combine()函数创建数组时,$keys数组和$values数组中的元素个数必须要一致,这才能让键名和键值一一对应,否则就会报错并返回 FALSE。

$keys数组不可为多维数组,否则也会报错;但$values

Hinweis: Der Schlüsselname darf nicht NULL sein.

"Was

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));
?>
🎜Verwenden Sie es ganz einfach: Mit nur einem erforderlichen Parameter gibt es ein Array zurück, das alle Werte im angegebenen Array enthält, jedoch ohne die Schlüssel beizubehalten. Das zurückgegebene Array hat die Form eines indizierten Arrays, wobei die Array-Indizes bei 0 beginnen und um 1 erhöht werden. 🎜🎜Einfach ausgedrückt können Sie diese Funktion verwenden, um den Array-Schlüsselnamen zurückzusetzen und den Schlüsselnamen mit einer verwirrenden Zeichenfolge oder einem numerischen Wert in einen numerischen Schlüsselnamen umzuwandeln, der bei 0 beginnt und um 1 erhöht wird. Die Funktion 🎜🎜array_values() eignet sich besonders für Arrays mit verwirrenden Elementindizes (rücksetzbare Zifferntasten) oder zum Konvertieren assoziativer Arrays in indizierte Arrays. 🎜rrreee🎜"Was🎜🎜 🎜2. Index-Array in assoziatives Array konvertieren🎜🎜🎜Die Funktion array_combine() erstellt ein neues Array durch Zusammenführen zweier Arrays, in dem die Elemente im Array $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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn