Geben Sie Hinting in PHP 7 ein - Array von Objekten
In PHP 7 kann Typ-Hinting verwendet werden, um den erwarteten Datentyp eines Funktions- oder Methodenparameters anzugeben. Um ein Array von Objekten anzugeben, wäre der Parametertyp-Hinweis "array" und der Klassenname der Objekte innerhalb des Arrays, wie folgt:
<?php
// Define an array of objects
$arrayOfObjects = [(object) ["name" => "John", "age" => 30], (object) ["name" => "Jane", "age" => 25]];
// Define a function with a type hint for the parameter "arrayOfObjects"
function someFunction(array $arrayOfObjects)
{
// Iterate over the array of objects
foreach ($arrayOfObjects as $object) {
// Output the name and age of each object
echo "Name: " . $object->name . ", Age: " . $object->age . "\n";
}
}
// Call the function with the defined array of objects
someFunction($arrayOfObjects);
// Output:
// Name: John, Age: 30
// Name: Jane, Age: 25
Sie können auch den Klassennamen der Objekte angeben, die im Array sein sollen mit array<ClassName>
<?php
class Person {
public $name;
public $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
}
// Define an array of Person objects
$arrayOfPeople = [
new Person("John", 30),
new Person("Jane", 25)
];
// Define a function with a type hint for the parameter "arrayOfObjects"
function someFunction(array<Person> $arrayOfPeople) {
// Iterate over the array of objects
foreach ($arrayOfPeople as $person) {
// Output the name and age of each object
echo "Name: " . $person->name . ", Age: " . $person->age . "\n";
}
}
// Call the function with the defined array of objects
someFunction($arrayOfPeople);
// Output:
// Name: John, Age: 30
// Name: Jane, Age: 25
Dies stellt sicher, dass nur Arrays mit Objekten der angegebenen Klasse als Argument an die Funktion übergeben werden können.