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

PHP自定义函数getDivisors返回NULL无法输出约数数组问题排查

问题修复说明

错误点定位

你的猜测正确,代码的核心问题是函数未显式返回计算得到的约数数组:
PHP函数在没有写return语句的情况下,执行完成后默认返回NULL。你的代码中虽然已经把所有符合条件的约数存入了$divisors数组,但没有将该数组返回给调用方,因此调用函数拿到的结果就是NULL。
额外优化点:最好在循环前先初始化$divisors为空数组,避免传入非法参数(比如小于1的数字)时,PHP抛出变量未定义的警告。

修复后代码

function getDivisors($num)
{
    // 先初始化数组,避免变量未定义警告
    $divisors = [];
    for ($i=1; $i<=$num; $i++) {
        if ($num % $i == 0) {
            $divisors[] = $i;
        }
    }
    // 显式返回约数数组
    return $divisors;
}

调用验证示例

// 求12的约数
print_r(getDivisors(12));
// 输出:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 6 [5] => 12 )

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 15:39:03