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

PHP如何将|分隔的UTM键值对字符串转换为单独变量赋值格式

实现方案

不要使用split函数,该函数从PHP5.3版本开始就已经被官方废弃,用explode完全可以实现需求,实现逻辑如下:

  1. 先用|作为分隔符,把原字符串拆分为单个的键值对数组
  2. 遍历每个键值对,再用=作为分隔符拆成键名和值(拆分时限制最多拆成2段,避免值中包含=时拆分出错)
  3. 按需输出格式化后的变量代码,或者直接在程序中生成对应变量

可运行代码示例

<?php
$str = 'utmcsr=google|utmcmd=organic|utmccn=(not set)|utmctr=(not provided)';

// 拆分所有键值对
$kvList = explode('|', $str);

foreach ($kvList as $item) {
    // 拆分键和值,最多拆2段
    list($key, $val) = explode('=', $item, 2);
    // 直接输出你需要的格式化代码
    echo "\${$key} = {$val};\n";
    
    // 如果需要在当前程序中实际生成对应变量,打开下面这行即可
    // $$key = $val;
}
?>

输出结果

运行上述代码直接输出你要的格式:

$utmcsr = google;
$utmcmd = organic;
$utmccn = (not set);
$utmctr = (not provided);

后续新增任意符合键=值格式、用|拼接的UTM参数,以上代码都可以直接兼容,不需要修改逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 10:39:03