Heim >Backend-Entwicklung >PHP-Problem >Was sind die PHP-Array-Typen?
Es gibt zwei Arten von PHP-Arrays, nämlich: 1. Index-Array, der Index besteht aus Zahlen, standardmäßig beginnend bei 0, jede Zahl entspricht der Position eines Array-Elements im Array; 2. Assoziatives Array, der Index besteht aus numerischen Werten. Es besteht aus einer Mischform mit Zeichenfolgen. Wenn ein Schlüsselname in einem Array keine Zahl ist, dann ist das Array ein assoziatives Array.
Das Betriebssystem dieses Tutorials: Windows11-System, PHP8.1.3-Version, DELL G3-Computer.
php-Array-Typ
Entsprechend den verschiedenen Datentypen der Array-Schlüsselnamen können wir PHP-Arrays in zwei Typen unterteilen:
Diejenigen mit Zahlen als Schlüsselnamen werden indizierte Arrays (indiziertes Array) genannt;
Ein Array mit Zeichenfolgen oder einer Mischung aus Zeichenfolgen und Zahlen als Schlüssel wird als assoziatives Array bezeichnet.
1. Index-Array
Der Index (Schlüsselname) des Index-Arrays besteht standardmäßig aus Zahlen, beginnend bei 0. Jede Zahl entspricht der Position eines Array-Elements im Array Um es anzugeben, weist PHP dem Schlüsselnamen des Indexarrays automatisch einen ganzzahligen Wert zu und erhöht ihn dann automatisch von diesem Wert.
<?php header('content-type:text/html;charset=utf-8'); $array=array(1,2,3,4,5,6,7,8,9,10); var_dump($array);//打印数组 ?>
2. Assoziatives Array
Der Index (Schlüsselname) des assoziativen Arrays besteht aus einer Mischung aus numerischen Werten und Zeichenfolgen. Wenn ein Schlüsselname in einem Array keine Zahl ist, dann Das Array ist ein assoziatives Array.
<?php header('content-type:text/html;charset=utf-8'); $array=array("id"=>1,"name"=>"李华","age"=>23,"1"=>1,"id2"=>52); var_dump($array);//打印数组 ?>
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.
Erweiterte Kenntnisse: Konvertierung zwischen Index-Arrays und assoziativen Arrays
Assoziatives Array zu Index-Array
In PHP können Sie die Funktion array_values() verwenden, um ein assoziatives Array in ein Index-Array umzuwandeln. Die Funktion
array_values($array) gibt die Werte aller Elemente im Array zurück. Sie ist sehr einfach zu verwenden. Mit nur einem erforderlichen Parameter kann sie ein Array zurückgeben, das alle Werte im angegebenen Array enthält Array, jedoch ohne Beibehaltung der Schlüsselnamen. 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 Zeichenfolgen- oder numerischen Schlüsselnamen 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 oder zum Konvertieren assoziativer Arrays in indizierte Arrays.
<?php $arr=array("Peter"=>65,"Harry"=>80,"John"=>78,"Clark"=>90); var_dump($arr); var_dump(array_values($arr)); ?>
Index-Array in assoziatives Array konvertieren
In PHP können Sie die Funktion array_combine() verwenden, um das Index-Array in ein assoziatives Array umzuwandeln. Die Funktion
array_combine($keys,$values) erstellt ein neues Array, indem sie zwei Arrays zusammenführt, wobei die Elemente im $keys-Array als Schlüssel des neuen Arrays und die Elemente des $values-Arrays als Schlüssel dienen Schlüssel des neuen Schlüsselwerts.
Aber es ist zu beachten, dass bei Verwendung der Funktion array_combine() zum Erstellen eines Arrays die Anzahl der Elemente im $keys-Array und im $values-Array konsistent sein muss, damit Schlüsselname und Schlüsselwert übereinstimmen können eins zu eins, andernfalls wird ein Fehler gemeldet und FALSE zurückgegeben.
Und das $keys-Array kann kein mehrdimensionales Array sein, sonst wird ein Fehler gemeldet, aber das $values-Array kann ein mehrdimensionales Array sein.
<?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)); ?>
Das obige ist der detaillierte Inhalt vonWas sind die PHP-Array-Typen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!