📅  最后修改于: 2023-12-03 14:45:22.316000             🧑  作者: Mango
当我们编写 PHP 代码时,有时候需要从函数或方法中返回更多的结果。PHP 提供了几种方法来返回多个结果。
一种常见的方法是通过返回数组来返回多个结果。下面是一个示例函数,它返回两个结果:
/**
* 返回数字的和和平均值
*
* @param array $numbers 一组数字
* @return array 包含和和平均值的关联数组
*/
function sumAndAverage(array $numbers): array
{
$sum = array_sum($numbers);
$count = count($numbers);
$average = $sum / $count;
return [
'sum' => $sum,
'average' => $average,
];
}
可以像下面这样调用该函数并访问返回的数组中的数据:
$numbers = [1, 2, 3, 4, 5];
$result = sumAndAverage($numbers);
echo "Sum: {$result['sum']}<br>";
echo "Average: {$result['average']}";
输出:
Sum: 15
Average: 3
另一种方法是通过返回对象来返回多个结果。下面是一个示例类,它返回两个结果:
/**
* 操作数字的类
*/
class NumberHandler
{
private $numbers;
public function __construct(array $numbers)
{
$this->numbers = $numbers;
}
/**
* 获取数字的和
*
* @return int
*/
public function getSum(): int
{
return array_sum($this->numbers);
}
/**
* 获取数字的平均值
*
* @return float
*/
public function getAverage(): float
{
$count = count($this->numbers);
$sum = $this->getSum();
return $sum / $count;
}
}
可以像下面这样实例化该类并访问其方法来获取返回的多个结果:
$numbers = [1, 2, 3, 4, 5];
$handler = new NumberHandler($numbers);
echo "Sum: {$handler->getSum()}<br>";
echo "Average: {$handler->getAverage()}";
输出:
Sum: 15
Average: 3
PHP 还提供了一种返回多个值的方法,即使用 list()
函数。下面是一个示例函数,它返回三个结果:
/**
* 返回三个数字
*
* @return array
*/
function returnThreeNumbers(): array
{
return [1, 2, 3];
}
可以像下面这样调用该函数并使用 list()
函数来获取返回的多个值:
list($a, $b, $c) = returnThreeNumbers();
echo "a: $a<br>";
echo "b: $b<br>";
echo "c: $c";
输出:
a: 1
b: 2
c: 3
以上是 PHP 中返回更多结果的一些方法。无论使用哪种方法,都要根据实际需求选择合适的方法。