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

如何将存储键值对字符串的数组转换为对应键值的关联数组

实现数组键值转换的方法

你给出的数组写法符合PHP的数组语法,以下是PHP版本的实现方案,其他编程语言逻辑大同小异,可参考实现:

基础实现(按冒号分割)

// 原数组
$oldArr = [
    0 => '"number1":1',
    1 => '"number2":2',
    2 => '"number3":3',
];

$newArr = [];
foreach ($oldArr as $item) {
    // 限制仅分割为2部分,避免值中存在冒号时拆分错误
    list($rawKey, $rawValue) = explode(':', $item, 2);
    // 移除键两端的双引号
    $key = trim($rawKey, '"');
    // 值转为整数类型,若有小数需求可替换为(float)
    $value = (int)$rawValue;
    $newArr[$key] = $value;
}

执行后$newArr就是你需要的目标数组结构。

高容错正则实现

如果原字符串可能存在多余空格、特殊字符等情况,推荐用正则匹配提取内容,稳定性更强:

foreach ($oldArr as $item) {
    preg_match('/"([^"]+)":(\d+)/', $item, $matches);
    $newArr[$matches[1]] = (int)$matches[2];
}

JavaScript版本实现

如果你使用的是JavaScript,可参考以下代码:

const oldArr = ['"number1":1', '"number2":2', '"number3":3']
const newObj = {}
oldArr.forEach(item => {
  const [rawKey, rawValue] = item.split(':')
  const key = rawKey.replace(/"/g, '')
  newObj[key] = parseInt(rawValue)
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 02:36:03