Heim  >  Artikel  >  Backend-Entwicklung  >  So definieren Sie ein Array in PHP

So definieren Sie ein Array in PHP

巴扎黑
巴扎黑Original
2017-08-04 16:33:321449Durchsuche

In diesem Artikel werden verschiedene Methoden zum Definieren von Arrays in PHP vorgestellt. Freunde in Not können sich auf

Array-Array

Arrays in PHP beziehen. 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(&#39;a&#39;,&#39;b&#39;,&#39;c&#39;); 
$array[]=&#39;simon&#39;; 
print_r($array); 
?>

Die Laufergebnisse 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 eckige 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 = [
&#39;start_time&#39; => &#39;123&#39;,
&#39;end_time&#39; =>&#39;456&#39;
];

Die Erläuterung dieser Strukturen würde den Rahmen dieses Handbuchs sprengen, aber Für jede Struktur wird mindestens ein Beispiel bereitgestellt. 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 kann eine Ganzzahl oder eine Zeichenfolge sein string
// value ) kann ein Wert eines beliebigen Typs sein
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, eine kurze Array-Definitionssyntax zu verwenden, indem [] anstelle von array() verwendet wird.

Beispiel #1 Ein einfaches Array


<?php
$array = array(
  "foo" => "bar",
  "bar" => "foo",
);

// 自 PHP 5.4 起
$array = [
  "foo" => "bar",
  "bar" => "foo",
];
?>

key 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 ebenfalls in Ganzzahlen umgewandelt. Das heißt, der Schlüsselname true wird tatsächlich als 1 gespeichert und der Schlüsselname false wird 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 Typenzwang 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"
}
Im obigen Beispiel werden alle Schlüsselnamen zwangsweise in 1 konvertiert, dann jeder neu Die Einheit überschreibt den vorherigen Wert und lässt am Ende nur ein „d“ übrig.

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)
}
key 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"
}
可以看到最后一个值 "d" 被自动赋予了键名 7。这是由于之前最大的整数键名是 6。

用方括号语法访问数组单元 ¶

数组单元可以通过 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();
?>

Das obige ist der detaillierte Inhalt vonSo definieren Sie ein 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
Vorheriger Artikel:So erhalten Sie Daten in PHPNächster Artikel:So erhalten Sie Daten in PHP