ホームページ > バックエンド開発 > PHPチュートリアル > PHP 関数の戻り値の型は、配列、オブジェクト、またはクラスのインスタンスにすることができますか?

PHP 関数の戻り値の型は、配列、オブジェクト、またはクラスのインスタンスにすることができますか?

王林
リリース: 2024-04-15 11:03:02
オリジナル
482 人が閲覧しました

PHP 関数は配列、オブジェクト、またはクラス インスタンスを返すことができます。 1. 配列: 角括弧を使用します。 2. オブジェクト: new キーワードを使用してオブジェクトを作成します。 3. クラス インスタンス: new キーワードを省略します。実際のケース: getUsers() はユーザーの配列を返し、createUser() はユーザー オブジェクトを作成します。

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

#PHP 関数の戻り値のタイプ: 配列、オブジェクト、クラス インスタンス

PHP 関数は、インスタンスを含むさまざまなタイプの値を返すことができます。配列、オブジェクト、クラスの。

Array

配列を関数の戻り値として返すには、角括弧を使用します:

<?php
function getArray(): array
{
    return [1, 2, 3];
}
?>
ログイン後にコピー

Object

オブジェクトを返すには、次のように new キーワードを使用してオブジェクトを作成します。

<?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');
}
?>
ログイン後にコピー

クラスのインスタンス

クラスのインスタンスを返すことは、返すことと似ています。 object ですが、以下に示すように new キーワードを省略できます。

<?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');
}
?>
ログイン後にコピー

実用的なケース

バッチの詳細情報を取得する関数があるとします。 users:

function getUsers(): array
{
    // ... 数据库查询,返回用户数组
}
ログイン後にコピー

この関数をコントローラーで使用するには、次のようにします:

<?php

$users = getUsers();

// 遍历用户数组
foreach ($users as $user) {
    // ...
}
?>
ログイン後にコピー

同様に、新しいユーザー オブジェクトを作成する関数がある場合:

function createUser(string $name, string $email): Person
{
    // ... 数据库查询,返回新的用户对象
}
ログイン後にコピー

モデル内でこの関数を使用すると、次のことができます:

<?php

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

// 访问用户属性
echo $user->getName(); // 输出:John Doe
?>
ログイン後にコピー

以上がPHP 関数の戻り値の型は、配列、オブジェクト、またはクラスのインスタンスにすることができますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート