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

如何将Java字符映射替换函数mo31385a转换为等价PHP代码

Java自定义字符替换函数的PHP等价实现

原Java函数实现的是基于自定义字符映射表的逐字符替换逻辑,功能完全对齐的PHP实现代码如下:

function mo31385a(string $str, string $str2, string $str3): string
{
    $strLength = strlen($str);
    $resultChars = [];
    for ($i = 0; $i < $strLength; $i++) {
        $currentChar = $str[$i];
        $matchIndex = strpos($str2, $currentChar);
        if ($matchIndex === false) {
            $resultChars[] = $currentChar;
        } else {
            $resultChars[] = $str3[$matchIndex];
        }
    }
    return implode('', $resultChars);
}

逻辑对齐说明

  • 逐位遍历第一个输入字符串的每个字符,遍历规则和原Java代码完全一致
  • 用strpos()查找当前字符在第二个字符串中的首次出现位置,返回false时对应Java中indexOf返回-1的场景,直接保留原字符不做修改
  • 匹配到有效索引时,取第三个字符串对应索引位置的字符完成替换
  • 最终拼接所有处理后的字符返回新字符串,和原函数返回规则完全一致

注意:上述实现默认处理单字节字符,和原Java函数针对ASCII字符场景的运行结果完全匹配;如果需要支持UTF-8多字节字符,将长度计算、位置查找、字符截取替换为对应的mb_*系列多字节函数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 16:12:17