php 函数可以把多个结果放进一个数组返回,再用数组解构分别接收。结果有清楚的业务含义时,用关联键能让调用方按名称取值。
用列表返回订单总额和数量
将示例存为 totals.php。金额用整数分,调用前确保输入是整数分列表。
<?php
function summarize(array $amounts): array
{
return [array_sum($amounts), count($amounts)];
}
[$total, $count] = summarize([1200, 350, 250]);
printf("%d 分,%d 笔\n", $total, $count);
执行 php totals.php,预期得到 1800 分,3 笔。位置解构的变量顺序要与返回顺序一致。
改用关联键接收结果
给返回值加上字段名。追加示例时使用不同的函数名。
立即学习“PHP免费学习笔记(深入)”;
function summarizeByName(array $amounts): array
{
return ['total' => array_sum($amounts), 'count' => count($amounts)];
}
['count' => $count, 'total' => $total] = summarizeByName([500, 700]);
printf("%d 笔,共 %d 分\n", $count, $total);
预期得到 2 笔,共 1200 分。关联解构按键匹配,所以这里可以交换读取顺序。
空数组也返回相同结构
让调用者在没有记录时仍能使用相同的解构代码。
['total' => $total, 'count' => $count] = summarizeByName([]); var_dump($total, $count);
两个值都是整数 0。如果某个返回字段是可选的,读取前先处理缺失情况。



















