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

PHP中如何将一维索引数组的值同时设为键和值?有无原生函数实现?

解决方案

PHP提供了原生内置函数可以一行实现该需求,最匹配需求的写法使用array_combine方法:

$options = array_combine($array, $array);

方法说明

array_combine接收两个数组作为入参,第一个数组的值会作为新数组的键,第二个数组的值会作为新数组对应位置的值,把原数组同时作为两个参数传入,就能直接实现键值完全相同的效果,逻辑和你写的foreach遍历完全等价。

其他可选场景写法

如果你需要的是所有值统一为某个固定值的场景(比如统一设为true、1),可以用array_fill_keys:

// 示例:所有值设为true
$options = array_fill_keys($array, true);

注意事项

  • 上述实现效果和手写foreach逻辑完全一致:如果原数组存在重复元素,最终生成的数组只会保留最后出现的那组键值对
  • 数组键名会遵循PHP默认的键名转换规则,比如纯数字字符串会自动转为整型键

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 18:36:04