如何从一个PHP函数中返回多个值

1. PHP函数返回多个值的需求

在开发过程中,有时只有一个返回值可能无法满足需求,需要函数返回多个值。这时,可使用数组来解决这个问题,也可以使用PHP在函数定义时使用声明语法来实现。

2. 数组方式返回多个值

PHP数组是一种能够包含多个值的数据类型。如果我们需要多个值同时返回,可以使用PHP数组的方式处理。下面通过一个例子进行说明:

function get_user_info() {

$user_info = array(

'name' => 'tom',

'age' => 18,

'gender' => 'male',

);

return $user_info;

}

// 调用

$info = get_user_info();

echo $info['name']; // 输出:tom

上面例子中,使用数组保存将多个信息保存在一个数组中,通过 return 返回整个数组,使用数组下标获取其中的某个值。

3. PHP7以上版本支持返回类型声明

PHP7以上版本提供了一种新的语法:返回类型声明(Return Type Declarations),可以在函数声明时限定函数返回的类型。借助这个特性,我们可以很容易地实现函数返回多个值。下面通过代码演示:

function get_user_info() : array {

$user_info = array(

'name' => 'tom',

'age' => 18,

'gender' => 'male',

);

return $user_info;

}

// 调用

$info = get_user_info();

echo $info['name']; // 输出:tom

在函数定义时,在函数名称后加上一个 colon(:) ,然后加上函数返回类型。在上面的代码中,函数返回类型是一个数组(array),所以我们使用了 : array。

3.1 返回类型声明的其他类型

PHP7的返回类型声明支持返回以下几种类型:

int

float

bool

string

array

callable

self

ClassName

通过上述方式,开发者可以灵活地控制函数的返回结果,避免返回不符合预期的结果。

4. 利用引用来返回多个值

在函数内部定义变量的时候,如果变量前面加上 & 符号,就可以将这个变量设为引用传递。函数内修改变量后,外部可以获取到修改后的值。借助引用传递的方式,我们也可以实现函数返回多个值。下面通过代码例子演示:

function get_user_info(&$name, &$age, &$gender) {

$name = 'tom';

$age = 18;

$gender = 'male';

}

// 调用

$name = '';

$age = 0;

$gender = '';

get_user_info($name, $age, $gender);

echo $name . $age . $gender; // 输出:tom18male

我们将三个参数设为引用传递,通过调用函数修改变量。调用函数时,将变量作为参数传递进去,接下来变量会被修改。

4.1 引用传递的注意点

使用引用传递需要注意以下几点:

函数定义时必须要加 & 符号,而函数调用时不可加。

被引用的变量必须要存在,否则将出现错误。

函数调用时推荐使用变量作为参数。

5. 小结

通过本篇文章的讲解,我们了解到了三种实现函数返回多个值的方法,分别为:

使用数组

利用 PHP7 返回类型声明

利用引用传递

开发者可以根据具体情况选择不同的方式来实现函数返回多个值。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签