array_columnLiefert die Werte einer einzelnen Spalte eines Arrays
&reftitle.description;
arrayarray_columnarrayarrayintstringnullcolumn_keyintstringnullindex_key&null;array_column gibt die Werte einer einzelnen Spalte von
array zurück, die durch
column_key angegeben wird. Optional kann ein
index_key angegeben werden, um die Werte im
zurückgegebenen Array durch die Werte der Spalte
index_key des angegebenen Arrays zu indizieren.
&reftitle.parameters;
array
Ein mehrdimensionales Array oder ein Array von Objekten, aus dem eine
Spalte von Werten abgerufen werden soll. Wenn ein Array von Objekten
angegeben wird, können die öffentlichen Eigenschaften direkt abgerufen
werden. Damit geschützte oder private Eigenschaften abgerufen werden
können, muss die Klasse die magischen Methoden
__get und __isset
implementieren.
column_key
Die Spalte der zurückzugebenden Werte. Dieser Wert kann ein
Integer-Schlüssel der Spalte sein, die abgerufen werden soll, oder der
Name eines Zeichenketten-Schlüssels eines assoziativen Arrays oder
einer Eigenschaft. Er kann auch &null; sein, um komplette Arrays oder
Objekte zurückzugeben (dies ist in Verbindung mit
index_key nützlich, um das Array neu zu
indizieren).
index_key
Die Spalte, die als Index/Schlüssel für das zurückgegebene Array
verwendet werden soll. Dieser Wert kann der Integer-Schlüssel der
Spalte sein oder der Name des Zeichenketten-Schlüssels. Der Wert wird
konvertiert wie
für Array-Schlüssel üblich (vor PHP 8.0.0 waren jedoch auch Objekte
erlaubt, die die Konvertierung in eine Zeichenkette unterstützen).
&reftitle.returnvalues;
Gibt ein Array von Werten zurück, das eine einzelne Spalte aus dem
angegebenen Array enthält.
&reftitle.changelog;
&Version;&Description;8.0.0
Die Objekte der Spalten, die durch den Parameter
index_key angegeben werden, werden nicht mehr
in Zeichenketten umgewandelt, sondern lösen stattdessen einen
TypeError aus.
&reftitle.examples;
Auslesen der Spalte der Vornamen aus einem Datensatz
2135,
'first_name' => 'John',
'last_name' => 'Doe',
],
[
'id' => 3245,
'first_name' => 'Sally',
'last_name' => 'Smith',
],
[
'id' => 5342,
'first_name' => 'Jane',
'last_name' => 'Jones',
],
[
'id' => 5623,
'first_name' => 'Peter',
'last_name' => 'Doe',
]
];
$first_names = array_column($records, 'first_name');
print_r($first_names);
?>
]]>
&example.outputs;
John
[1] => Sally
[2] => Jane
[3] => Peter
)
]]>
Abrufen der Spalte der Nachnamen aus einem Datensatz, indiziert durch die
Spalte "id"
2135,
'first_name' => 'John',
'last_name' => 'Doe',
],
[
'id' => 3245,
'first_name' => 'Sally',
'last_name' => 'Smith',
],
[
'id' => 5342,
'first_name' => 'Jane',
'last_name' => 'Jones',
],
[
'id' => 5623,
'first_name' => 'Peter',
'last_name' => 'Doe',
]
];
$last_names = array_column($records, 'last_name', 'id');
print_r($last_names);
?>
]]>
&example.outputs;
Doe
[3245] => Smith
[5342] => Jones
[5623] => Doe
)
]]>
Abrufen der Spalte mit den Benutzernamen aus der öffentlichen Eigenschaft
"username" eines Objekts
username = $username;
}
}
$users = [
new User('user 1'),
new User('user 2'),
new User('user 3'),
];
print_r(array_column($users, 'username'));
?>
]]>
&example.outputs;
user 1
[1] => user 2
[2] => user 3
)
]]>
Abrufen der Spalte der Namen aus der privaten Eigenschaft "name" eines
Objekts mit der magischen Methode __get
name = $name;
}
public function __get($prop)
{
return $this->$prop;
}
public function __isset($prop) : bool
{
return isset($this->$prop);
}
}
$people = [
new Person('Fred'),
new Person('Jane'),
new Person('John'),
];
print_r(array_column($people, 'name'));
?>
]]>
&example.outputs;
Fred
[1] => Jane
[2] => John
)
]]>
Wenn __isset nicht angegeben wird, wird ein leeres
Array zurückgegeben.