Le type de la valeur de retour d'une fonction PHP peut-il être un tableau, un objet ou une instance d'une classe ?

王林
Libérer: 2024-04-15 11:03:02
original
448 Les gens l'ont consulté

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.

PHP 函数返回值的类型是否可以为数组、对象或类的实例?

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];
}
?>
Copier après la connexion

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');
}
?>
Copier après la connexion

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');
}
?>
Copier après la connexion

Cas pratique

Supposons que vous ayez une fonction qui récupère les détails d'un lot de utilisateurs :

function getUsers(): array
{
    // ... 数据库查询,返回用户数组
}
Copier après la connexion

Pour utiliser cette fonction dans un contrôleur, vous pouvez :

<?php

$users = getUsers();

// 遍历用户数组
foreach ($users as $user) {
    // ...
}
?>
Copier après la connexion

De même, si vous avez une fonction qui crée un nouvel objet utilisateur :

function createUser(string $name, string $email): Person
{
    // ... 数据库查询,返回新的用户对象
}
Copier après la connexion

Pour utiliser cette fonction dans un modèle, vous pouvez :

<?php

$user = createUser('John Doe', 'john.doe@example.com');

// 访问用户属性
echo $user->getName(); // 输出:John Doe
?>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal