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

PHP如何从多维数组中提取id字段合并为一维无键值对数组

错误原因

你现有代码的问题出在两处:

  1. 变量名不匹配:foreach 循环中你将遍历得到的子数组赋值给了$item变量,但实际取值时误用了未定义的$term变量,自然无法读取到有效值
  2. 取值方式错误:你提供的$array是多维数组结构,不是对象集合,不能使用对象运算符->取值,需要用数组的键访问语法[]

修复方案

方案1:修改原有foreach逻辑

修正变量名和取值方式即可正常运行:

$ids = [];

if ( $array ) {
  foreach ( $array as $item ) {
    $ids[] = $item['id'];
  }
}

print_r($ids);

方案2:使用PHP内置函数更简洁实现

PHP 5.5及以上版本支持array_column函数,可以直接提取二维数组中指定键的所有值,一行代码即可完成需求:

$ids = array_column($array, 'id');
print_r($ids);

两种方案运行后都能得到你需要的结果:Array ( [0] => 11 [1] => 12 [2] => 10 ),为无自定义键的索引数组。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 15:24:04