Les fonctions PHP peuvent renvoyer des tableaux, des objets ou des instances de classe : 1. Tableau : utilisez des crochets ; 2. Objet : utilisez le nouveau mot-clé pour créer un objet ; 3. Instance de classe : omettez le nouveau mot-clé. Cas pratique : getUsers() renvoie un tableau d'utilisateurs, et createUser() crée un objet utilisateur.
Types de valeurs de retour des fonctions PHP : tableaux, objets, instances de classe
Les fonctions PHP peuvent renvoyer différents types de valeurs, notamment des tableaux, des objets et des instances de classe.
Array
Pour renvoyer un tableau en tant que valeur de fonction, utilisez des crochets :
<?php function getArray(): array { return [1, 2, 3]; } ?>
Object
Pour renvoyer un objet, créez l'objet en utilisant le nouveau mot-clé comme suit :
<?php class Person { private $name; public function __construct(string $name) { $this->name = $name; } public function getName(): string { return $this->name; } } function getObject(): Person { return new Person('John Doe'); } ?>
Instance de classe
Renvoyer une instance d'une classe est similaire à renvoyer un objet, mais le mot-clé new peut être omis, comme indiqué ci-dessous :
<?php class Animal { private $species; public function __construct(string $species) { $this->species = $species; } public function getSpecies(): string { return $this->species; } } function getInstance(): Animal { return Animal('Dog'); } ?>
Cas pratique
Supposons que vous ayez une fonction qui récupère les détails d'un lot de utilisateurs :
function getUsers(): array { // ... 数据库查询,返回用户数组 }
Pour utiliser cette fonction dans un contrôleur, vous pouvez :
<?php $users = getUsers(); // 遍历用户数组 foreach ($users as $user) { // ... } ?>
De même, si vous avez une fonction qui crée un nouvel objet utilisateur :
function createUser(string $name, string $email): Person { // ... 数据库查询,返回新的用户对象 }
Pour utiliser cette fonction dans un modèle, vous pouvez :
<?php $user = createUser('John Doe', 'john.doe@example.com'); // 访问用户属性 echo $user->getName(); // 输出:John Doe ?>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!