Heim >Backend-Entwicklung >PHP-Tutorial >Mehrere Methoden zur PHP-Array-Definition
Array-Array
Was ist ein Array? Arrays sind spezielle Variablen, die mehr als einen Wert gleichzeitig enthalten können. Ein Array in PHP ist eigentlich eine geordnete Karte. Eine Karte ist ein Typ, der Schlüsseln Werte zuordnet. Dieser Typ ist in vielerlei Hinsicht optimiert, sodass er als echtes Array oder als Liste (Vektor), Hash-Tabelle (Implementierung einer Karte), Wörterbuch, Menge, Stapel, Warteschlange usw. behandelt werden kann mehr Möglichkeiten. Da der Wert eines Array-Elements auch ein anderes Array sein kann, sind auch Baumstrukturen und mehrdimensionale Arrays zulässig.
Im Allgemeinen sind die Definitionsmethoden wie folgt:
Methode 1:
$a=array(1,2,4,5,6); <?php $array=array('a','b','c'); $array[]='simon'; print_r($array); ?>
Die laufenden Ergebnisse sind wie folgt.
Array
(
[0]=>a
[1]=>b
[2]= >c
[3]=>simon
)
Methode 2:
$a=array(key1=>value1,key2=>value2,key3=>value3);
Methode 3:
$a[key1]=value1; $a[key2]=value2;
Methode 4: Definieren Sie das Array durch Klammern []
Dies kann nach PHP Version 5.4 mit der neuen Array-Abkürzungssyntax geschrieben werden.
PHP-Versionen 5.3 und früher akzeptieren kein Schreiben wie dieses...
$data = [ 'start_time' => '123', 'end_time' =>'456'];
Die Erläuterung dieser Strukturen geht über den Rahmen dieses Handbuchs hinaus, es wird jedoch mindestens ein Beispiel für jede bereitgestellt Struktur. Für weitere Informationen zu diesen Strukturen wird empfohlen, andere Arbeiten zu diesem breiten Thema zu konsultieren.
Syntax
Array array() definieren
Sie können die Sprachstruktur array() verwenden, um ein neues Array zu erstellen. Es akzeptiert eine beliebige Anzahl durch Kommas getrennter Schlüssel => Wertepaare.
array( key => value , ... ) // 键(key)可是是一个整数 integer 或字符串 string // 值(value)可以是任意类型的值
Das Komma nach dem letzten Array-Element kann weggelassen werden. Wird normalerweise in einzeiligen Array-Definitionen verwendet, z. B. array(1, 2) anstelle von array(1, 2, ). Es ist üblich, das letzte Komma in mehrzeiligen Array-Definitionen zu belassen, um das Hinzufügen einer neuen Zelle zu erleichtern. Seit 5.4 ist es möglich, die kurze Array-Definitionssyntax zu verwenden, indem [] anstelle von array() verwendet wird.
Beispiel Nr. 1 Ein einfacher Array-
<?php $array = array( "foo" => "bar", "bar" => "foo", ); // 自 PHP 5.4 起 $array = [ "foo" => "bar", "bar" => "foo", ]; ?>
Schlüssel kann eine Ganzzahl oder eine Zeichenfolge sein. Der Wert kann von beliebigem Typ sein.
Darüber hinaus hat der Schlüssel den folgenden Zwang:
Strings, die zulässige Ganzzahlwerte enthalten, werden in Ganzzahlen konvertiert. Beispielsweise wird der Schlüsselname „8“ tatsächlich als 8 gespeichert. „08“ wird jedoch nicht umgewandelt, da es sich nicht um einen zulässigen Dezimalwert handelt.
Gleitkommazahlen werden ebenfalls in ganze Zahlen umgewandelt, d. h. ihre Dezimalteile werden gerundet. Beispielsweise wird der Schlüsselname 8.7 tatsächlich als 8 gespeichert.
Boolesche Werte werden auch in Ganzzahlen umgewandelt. Das heißt, der Schlüsselname true wird tatsächlich als 1 und der Schlüsselname false als 0 gespeichert.
Null wird in eine leere Zeichenfolge konvertiert, d. h. der Schlüsselname null wird tatsächlich als „“ gespeichert.
Arrays und Objekte können nicht als Schlüssel verwendet werden. Wenn Sie darauf bestehen, wird eine Warnung angezeigt: Unzulässiger Offset-Typ.
Wenn mehrere Einheiten denselben Schlüsselnamen in der Array-Definition verwenden, wird nur die letzte verwendet und die vorherigen werden überschrieben.
Beispiel Nr. 2 Beispiel für Typerzwingung und Überschreiben
<?php $array = array( 1 => "a", "1" => "b", 1.5 => "c", true => "d", ); var_dump($array); ?>
Die obige Routine gibt Folgendes aus:
array(1) { [1]=> string(1) "d" }
Alle oben aufgeführten Schlüssel Beispielnamen werden auf 1 gesetzt, dann überschreibt jede neue Einheit den vorherigen Wert, sodass am Ende nur ein „d“ übrig bleibt.
PHP-Arrays können sowohl Ganzzahl- als auch String-Schlüsselnamen enthalten, da PHP eigentlich nicht zwischen indizierten Arrays und assoziativen Arrays unterscheidet.
Wenn für den angegebenen Wert kein Schlüssel angegeben ist, wird der aktuell größte ganzzahlige Indexwert verwendet und der neue Schlüsselname ist dieser Wert plus eins. Wenn der angegebene Schlüsselname bereits einen Wert hat, wird der Wert überschrieben.
Beispiel #3 Mischen von Ganzzahl- und String-Schlüsselnamen
<?php $array = array( "foo" => "bar", "bar" => "foo", 100 => -100, -100 => 100, ); var_dump($array); ?>
Die obige Routine gibt Folgendes aus:
array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo "
[100]=>
int(-100)
[-100]=>
int(100)
}
Schlüssel ist optional. Wenn nicht angegeben, verwendet PHP automatisch den größten zuvor verwendeten Ganzzahlschlüssel plus 1 als neuen Schlüssel.
Beispiel #4 Index-Array ohne Schlüsselnamen
<?php $array = array("foo", "bar", "hallo", "world"); var_dump($array); ?>
Die obige Routine gibt Folgendes aus:
array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hallo"
[3]=>
string(5) "world"
}
Sie können auch Schlüsselnamen nur für einige Einheiten angeben und andere leer lassen:
Beispiel #5 Geben Sie Schlüsselnamen nur für einige Einheiten an
<?php $array = array( "a", "b", 6 => "c", "d", ); var_dump($array); ?>
Die obige Routine gibt Folgendes aus:
array(4) {
[0]=>
string(1) "a"
[1]=>
string(1) „b“
[6]=>
string(1) „c“
[7]=>
string(1) "d"
}
Sie können sehen, dass dem letzten Wert „d“ automatisch der Schlüsselname zugewiesen wird 7. Dies liegt daran, dass der bisher größte ganzzahlige Schlüssel 6 war.
用方括号语法访问数组单元 ¶
数组单元可以通过 array[key] 语法来访问。
Example #6 访问数组单元
<?php $array = array( "foo" => "bar", 42 => 24, "multi" => array( "dimensional" => array( "array" => "foo" ) ) ); var_dump($array["foo"]); var_dump($array[42]); var_dump($array["multi"]["dimensional"]["array"]); ?>
以上例程会输出:
string(3) "bar"
int(24)
string(3) "foo"
Note:
方括号和花括号可以互换使用来访问数组单元(例如 $array[42] 和 $array{42} 在上例中效果相同)。
自 PHP 5.4 起可以用数组间接引用函数或方法调用的结果。之前只能通过一个临时变量。
自 PHP 5.5 起可以用数组间接引用一个数组原型。
Example #7 数组间接引用
<?php function getArray() { return array(1, 2, 3); } // on PHP 5.4 $secondElement = getArray()[1]; // previously $tmp = getArray(); $secondElement = $tmp[1]; // or list(, $secondElement) = getArray(); ?>
Note:
试图访问一个未定义的数组键名与访问任何未定义变量一样:会导致 E_NOTICE 级别错误信息,其结果为 NULL。
更多关于PHP数组的问题可以访问相关网站:http://www.php.cn/search/PHP数组.html
Das obige ist der detaillierte Inhalt vonMehrere Methoden zur PHP-Array-Definition. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!