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

PHP字符映射转数字后如何按对应映射值实现逗号分隔格式化输出

问题解决方法

你的原有代码问题在于str_replace会直接全局替换整个字符串的所有匹配字符,替换完成后所有映射值直接拼接为长串,无法拆分出单个字符对应的映射结果,你可以按以下逻辑修改:

修改后的完整代码

// 修正原有语法错误:input变量前缺少$符号
$input = "JHON";
       
$remap = [
    "a" => '1',
    "A" => '1',
    "b" => '2',
    "B" => '2',
    "c" => '3',
    "C" => '3',
    "J" => '100',
    "H" => '10',
    "O" => '90',
    "N" => '200',
];

// 1. 将输入字符串拆分为单个字符的数组
$chars = str_split($input);
// 2. 遍历每个字符,查询映射表收集对应值
$mapResult = [];
foreach ($chars as $char) {
    // 存在映射则取映射值,不存在则保留原字符(可按需调整逻辑)
    $mapResult[] = $remap[$char] ?? $char;
}
// 3. 用逗号拼接结果,前后包裹括号输出
$output = '(' . implode(',', $mapResult) . ')';

echo $output;

输出结果

(100,10,90,200)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 22:39:01