php中文网

PHP 函数如何返回多种类型的数据

php中文网

php 函数可通过联合类型、数组或对象来返回多种类型的数据:联合类型:使用管道字符(|)指定函数可返回的多种类型,如 string|int|null。数组:使用数组包含任何类型的数据并返回。对象:使用对象包含属性和方法,并返回复杂的数据结构。

PHP 函数如何返回多种类型的数据

在 PHP 中,函数通常返回一种类型的数据,如字符串、整数或浮点数。但是,在某些情况下,您可能需要一个函数返回多种类型的数据,例如对象、数组或 null。

使用联合类型

立即学习“PHP免费学习笔记(深入)”;

PHP 8 引入了联合类型,允许您指定函数可以返回的多种类型。联合类型使用管道字符(|)连接,例如:

function get_data(): string|int|null {
  // 函数体
}

这个函数可以返回字符串、整数或 null。

返回数组

另一种返回多种类型数据的方法是使用数组。数组可以包含任何类型的数据,因此您可以使用数组返回多种类型的数据,例如:

function get_data(): array {
  return ['string', 123, null];
}

返回对象

如果您需要返回复杂的数据结构,则可以使用对象。对象可以包含属性和方法,因此您可以使用对象返回多种类型的数据,例如:

class Data {
  public $string;
  public $int;
  public $null;
}

function get_data(): Data {
  $data = new Data();
  $data->string = 'string';
  $data->int = 123;
  $data->null = null;
  return $data;
}

实战案例

以下是一个返回多种类型数据的函数的实战案例:

function get_user_data(int $user_id): string|int|null {
  // 根据 user_id 从数据库中检索数据
  $result = get_user_data_from_db($user_id);

  if ($result === false) {
    return null;
  } elseif (is_string($result)) {
    return $result;
  } elseif (is_int($result)) {
    return $result;
  } else {
    throw new Exception('Invalid data type returned from database.');
  }
}

这个函数会根据 user_id 从数据库中检索数据。如果查询失败,它会返回 null。如果结果是一个字符串,它会返回该字符串。如果结果是一个整数,则返回该整数。

以上就是PHP 函数如何返回多种类型的数据的详细内容,更多请关注php中文网其它相关文章!