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

PHP已存在键却提示Undefined array key问题求助

问题分析与解决

你的报错根源是写法逻辑错误:
你写的array_sum($array['number'])是在直接找整个数组$array的'number'键,但你的$array是二维数组(每个元素是带'number'的子数组),$array本身根本没有'number'这个键,所以才会报"Undefined array key 'number'"。而你用foreach检查的是每个子数组$item里的'number',这和前者完全是两回事,所以检查代码不会返回错误。

正确的求和写法

有两种简单的解决方式:

方法一:用array_column提取值后求和

array_column可以直接从二维数组中提取所有子数组的'number'值,生成一个一维数组,再用array_sum求和:

$sum = array_sum(array_column($array, 'number'));

方法二:手动循环累加

如果不想用array_column(比如PHP版本低于5.5),可以手动遍历累加:

$sum = 0;
foreach ($array as $item) {
    $sum += $item['number'];
}

额外注意点

如果子数组里的'number'是字符串类型(比如'100'),array_sum会自动将其转为数字计算,不影响结果;但如果是无法转为数字的字符串(比如'abc'),会被当成0处理,这点需要留意。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 15:35:43