You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP对象相关疑问:实现的salary函数是否正确?

你的salary函数实现有问题,我来帮你修正~

首先说结论:你当前的代码不正确,原因很简单——你把对象数组当成单个对象来调用方法了!

你写的$persons->pay();这里,$persons是一个对象数组,而不是单个具备pay方法的对象,直接对数组调用pay()会触发错误,因为PHP数组本身并没有这个方法。

正确的做法是遍历数组里的每一个对象,逐个调用它们的pay方法,再把结果存入results数组。修改后的代码如下:

function salary($persons) {
    $results = [];
    // 遍历数组中的每一个对象
    foreach ($persons as $person) {
        // 调用当前对象的pay方法,将结果追加到results数组
        $results[] = $person->pay();
    }
    return $results;
}

这样修改后,函数就能按照需求工作:接收对象数组,调用每个对象的pay方法,把所有结果收集到results数组里返回。

另外补充一点:题目里已经明确每个对象都有pay方法,所以不用额外处理对象不存在该方法的情况;如果数组为空,函数也会返回空数组,符合预期。

内容的提问来源于stack exchange,提问作者JustToKnow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:07:47