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

PHP不使用array_merge向数组追加不同键值对的实现方法

实现代码

不需要调用array_merge这类数组函数,直接使用PHP原生的数组展开语法(语言级特性,无函数调用开销)即可实现完全一致的效果,代码如下:

$options = ['height' => 10, 'width' => 20, 'fit' => 'crop'];

return new Settings(
    [
        'detail' => [...$options, 'foo' => 'bar'],
        'detail-l' => [...$options, 'foo2' => 'bar2']
    ],
    [
        'small' => [...$options, 'foo3' => 'bar3']
    ]
);

实现说明

  • 数组展开...是PHP 7.4及以上版本支持的原生语法,不属于函数调用,完全满足不调用数组函数的要求
  • 合并逻辑和原array_merge完全对齐:基础配置项在前,自定义键值对在后,重名键时后面的自定义值会覆盖基础值,行为和原有代码无差异
  • 最终传入Settings构造方法的两个参数结构和预期结果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 20:57:22