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

PHP求助:如何将多维数组中指定ID的子数组移至顶部?

问题解决:将指定ID的数组行移至顶部

错误原因分析

你遇到的Trying to access array offset on value of type int警告,核心问题是foreach循环里的判断逻辑写错了:
在foreach($rows as $key => $val)中,$key是数组的索引值(比如0、1、2这类整数),而包含id字段的是当前遍历到的子数组$val,你误把$key当成子数组来访问['id'],导致类型错误。

修正后的代码

$x = 54;

foreach($rows as $key => $val){
    // 用$val['id']替代$key['id']
    if($val['id'] == $x){  
        unset($rows[$key]);
        array_unshift($rows, $val);
        // 找到目标后跳出循环,避免多余遍历
        break;
    }
}

// 验证结果
print_r($rows);

执行结果示例

修正后运行,数组会变成:

Array ( 
    [0] => Array ( [id] => 54 [nick] => 5fb63a1a75171 ) 
    [1] => Array ( [id] => 52 [nick] => 5fb63a1a8bcbf ) 
    [2] => Array ( [id] => 59 [nick] => 5fb63a1a91e68 ) 
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 10:20:41