PHP 函數可以傳回陣列、物件或類別實例:1. 陣列:使用中括號;2. 物件:使用 new 關鍵字建立物件;3. 類別實例:省略 new 關鍵字。實戰案例:getUsers() 傳回使用者數組,createUser() 建立使用者物件。
PHP 函數傳回值類型:陣列、物件、類別實例
PHP 函數可以傳回各種類型的值,包括數組、物件和類別的實例。
陣列
要將陣列當作函數傳回值,請使用中括號:
<?php function getArray(): array { return [1, 2, 3]; } ?>
物件
要傳回一個對象,請使用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'); } ?>
#類別的實例
返回類別的實例類似於返回對象,但可以省略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'); } ?>
#實戰案例
假設您有一個函數,用於取得一批使用者的詳細資訊:
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中文網其他相關文章!