Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果需要帮助,请使用argumen替换_Php_String_Str Replace - Fatal编程技术网

Php 如果需要帮助,请使用argumen替换

Php 如果需要帮助,请使用argumen替换,php,string,str-replace,Php,String,Str Replace,我需要帮助替换json中的结果。我有以下代码: <?php $arr = $item['data']; print_r(str_ireplace("AA","11",$arr)); ?> 如果我从$item['data']=AA将替换11,则此代码工作正常, 但是,如果数据的结果是BB,则问题在于我想用22替换 我的问题是,如果得到结果数据AA=11、BB=22、CC=33……等等,我如何替换。这应该适用于您: 只需使用来匹配AA-ZZ的完整范围,并使用来获

我需要帮助替换json中的结果。我有以下代码:

<?php

    $arr = $item['data'];
    print_r(str_ireplace("AA","11",$arr));

?>

如果我从
$item['data']=AA将替换
11
,则此代码工作正常, 但是,如果数据的结果是
BB
,则问题在于我想用
22
替换


我的问题是,如果得到结果数据AA=11、BB=22、CC=33……等等,我如何替换。这应该适用于您:

只需使用来匹配
AA-ZZ
的完整范围,并使用来获得该字母的ASCII值,然后简单地从中减去64并打印2次

echo preg_replace_callback("/([A-Z])\\1/", function($m){
    return str_repeat(ord($m[1]) - 64, 2);
}, $text);

从我的朋友那里得到了解决方案,希望有人能使用并改进它

<?php
$arr = $item['data'];
if ($arr == "AA") {
print_r(str_ireplace("AA","11",$arr));
} elseif ($arr == "BB") {
print_r(str_ireplace("BB","22",$arr));
} else {
print_r(str_ireplace("CC","33",$arr));
}
?>