Maison >développement back-end >tutoriel php >Le type de la valeur de retour d'une fonction PHP peut-il être un tableau, un objet ou une instance d'une classe ?

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

王林
王林original
2024-04-15 11:03:02454parcourir

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];
}
?>

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!

Déclaration:
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