
我们主要使用函数参数来获取函数内部的外部数据以进行进一步处理。类似地,我们从 PHP 函数返回值以访问函数外部已处理的数据。您可以在 PHP 中定义带或不带返回值的函数。
虽然 PHP 中的函数可以有多个参数,但它不可能有多个返回语句。在本教程中,我将向您展示如何从 PHP 中的函数返回多个值。
PHP 中的函数可以有一个可选的 return 语句。当从函数内部调用时,返回语句会立即停止任何进一步代码的执行。这还包括其他返回语句。这是一个例子:
<?php
function multiple_returns($a, $b) {
$x = 2*$a;
$y = 3*$b;
return $x;
if($y%3 == 0) {
echo "Y is: ".$y;
}
return $y;
}
$m = 0;
$n = 0;
$m = multiple_returns(5, 18);
// list($m, $n) = multiple_returns(5, 18);
// Outputs: Values are: 10 and 0
echo "Values are: ".$m." and ".$n;
?>
请注意,运行上述代码不会回显有关 $y 值的语句。这是因为函数在第一个 return 语句后停止执行。如果取消注释我们使用 list() 分配变量值的行,则 $m 和 $n 都将是 NULL 因为 list() 仅适用于数组,并且该函数仅返回一个数字。
立即学习“PHP免费学习笔记(深入)”;
我们知道 return 语句可以返回任何类型的值。因此,我们还可以使用它返回一个数组,其中包含我们实际想要返回的所有值。我们可以将上面的示例重写如下以返回多个值:
<?php
function multiple_returns($a, $b) {
$x = 2*$a;
$y = 3*$b;
return [$x, $y];
}
list($m, $n) = multiple_returns(5, 18);
// Outputs: Values are: 10 and 54
echo "Values are: ".$m." and ".$n;
?>
从 PHP 的角度来看,您仍然返回单个值,但该单个值是一个可以包含多个其他值的数组。这是 PHP 中模拟函数返回多个值的最简单方法之一。
在上面的示例中,我们仅返回两个值。但是,当涉及更多值时,事情可能会变得有点棘手,因为您必须记住返回值的正确顺序。
函数是一组语句一起执行任务。在MATLAB中,函数定义在单独的文件。文件函数的文件名应该是相同的。 函数操作在自己的工作空间,它也被称为本地工作区,独立的工作区,在 MATLAB 命令提示符访问,这就是所谓的基础工作区的变量。函数可以接受多个输入参数和可能返回多个输出参数 。 MATLAB是MathWorks公司开发的一种编程语言。它最初是一个矩阵的编程语言,使线性代数编程很简单。它可以运行在交互式会话和作为批处理作业。有需要的朋友可以下载看看
1
从 PHP 7.1 开始,您可以将 list() 与关联数组一起使用。这意味着返回元素的顺序不会影响分配的值。这是一个例子:
<?php
function multiple_returns($a, $b) {
$x = 2*$a;
$y = 3*$b;
return ['m' => $x, 'n' => $y];
}
list('m' => $m, 'n' => $n) = multiple_returns(5, 18);
// Values are: 10 and 54
echo "Values are: ".$m." and ".$n;
list('n' => $n, 'm' => $m) = multiple_returns(5, 18);
// Values are: 10 and 54
echo "Values are: ".$m." and ".$n;
?>
您可以看到变量 $m 和 $n 在两种情况下都获得相同的值,因为现在是根据键而不是数字索引来分配值。
从 PHP 7.1 开始,您甚至不需要使用 list(),因为 PHP 现在支持解构语法。我们可以将前面的示例重写为:
<?php
function multiple_returns($a, $b) {
$x = 2*$a;
$y = 3*$b;
return ['m' => $x, 'n' => $y];
}
['m' => $m, 'n' => $n] = multiple_returns(5, 18);
// Values are: 10 and 54
echo "Values are: ".$m." and ".$n;
['n' => $n, 'm' => $m] = multiple_returns(5, 18);
// Values are: 10 and 54
echo "Values are: ".$m." and ".$n;
?>
从 PHP 函数返回多个值的另一种方法是返回一个对象。我们可以使用公共成员变量定义具有不同属性的类。这种技术的一个缺点是您必须编写更多代码,因此它将消耗更多内存来存储类的多个实例。优点是您可以在多个地方使用同一组变量。
<?php
class ValueStore {
public $m;
public $n;
}
function multiple_returns_class($a, $b) {
$my_values = new ValueStore();
$my_values->m = 2*$a;
$my_values->n = 3*$b;
return $my_values;
}
$values = multiple_returns_class(5, 18);
// Values are: 10 and 54
echo "Values are: ".$values->m." and ".$values->n;
?>
如您所见,我们只需创建一个对象并将值分配给其各种属性,就可以成功地从函数中获取多个值。
在本教程中,您了解到 PHP 不允许您直接从函数返回多个值。但是,您可以通过将多个值打包为数组或对象来绕过该限制。之后,您只需从函数返回数组或对象,然后访问这些值即可。
以上就是如何从一个PHP函数中返回多个值的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号