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

PHP中如何将从CDATA获取的键值对字符串转换为关联数组?

实现方案

你拿到的是自定义格式的键值对字符串,可通过字符串清洗+分段拆分的方式完成数组转换,具体实现如下:


处理逻辑

  • 去除字符串首尾的大括号包裹符
  • 分割字符串得到独立的键值对片段
  • 遍历每个片段拆分出键名和键值,存入结果数组

代码实现

// 原始数据
$data = "{customertype=New, Telephone=09832354544, CITY=Henfield, LASTNAME=C, TicketNo=123456, FIRSTNAME=Alex, Id=10001273, testfield=123456, COMPANY=Camp1}";

// 去除首尾大括号
$trimmed = trim($data, '{}');
// 按逗号+空格分割为独立键值对,若空格数量不固定可替换为 $pairs = preg_split('/,\s*/', $trimmed);
$pairs = explode(', ', $trimmed);

$result = [];
foreach ($pairs as $pair) {
    // 按等号最多拆分2段,避免值中包含等号的异常情况
    list($key, $value) = explode('=', $pair, 2);
    // 若要求值为单元素数组,可改为 $result[$key] = [$value];
    $result[$key] = $value;
}

// 打印测试结果
print_r($result);

输出示例

Array
(
    [customertype] => New
    [Telephone] => 09832354544
    [CITY] => Henfield
    [LASTNAME] => C
    [TicketNo] => 123456
    [FIRSTNAME] => Alex
    [Id] => 10001273
    [testfield] => 123456
    [COMPANY] => Camp1
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:54:03