当前位置: 首页 > 面试题库 >

如何在php中替换多个值

邹昊
2023-03-14
问题内容
$srting = "test1 test1 test2 test2 test2 test1 test1 test2";

如何将test1值更改为test2和将test2值更改为test1
当我使用str_replacepreg_replace所有值都更改为最后一个数组值。例:

$pat = array();
$pat[0] = "/test1/";
$pat[1] = "/test2/";
$rep = array();
$rep[0] = "test2";
$rep[1] = "test1";
$replace = preg_replace($pat,$rep,$srting) ;

结果:

test1 test1 test1 test1 test1 test1 test1 test1

问题答案:

这应该为您工作:

<?php

    $string = "test1 test1 test2 test2 test2 test1 test1 test2";

    echo $string . "<br />";
    echo $string = strtr($string, array("test1" => "test2", "test2" => "test1"));

?>

输出:

test1 test1 test2 test2 test2 test1 test1 test2
test2 test2 test1 test1 test1 test2 test2 test1

检出此DEMO:http :
//codepad.org/b0dB95X5



 类似资料:
  • 我有一些字符串,我想替换其中的一些字符。一切都很好,直到字符串没有两个或更多相同的字符,程序只是替换了第一个字符,而我无法更改第二个字符。 下面是对这段代码的解释:用户从一开始程序就有一个等于10的分数。userLetter它只是一个字符,它将从用户那里得到一些字母,然后如果语句检查movieTitle变量的字符是否等于用户刚刚输入的字符,如果是,charIndex将有它的位置(但它只包含第一个索

  • 问题内容: 一个非常简单的小问题,但是我不太明白该怎么做。 我需要将’_’的每个实例替换为空格,并将’#’的每个实例替换为空/空。 我已经试过了: 我真的不喜欢这样的链接命令。还有另一种方法可以做到这一点吗? 问题答案: 使用OR运算符(): 您还可以使用字符类: Fiddle 如果您想用一件事替换哈希值,而用另一件事替换下划线,则只需要链接即可。但是,您可以添加一个原型: 但是为什么不连锁呢?我

  • 我真的不喜欢这样链接命令。有没有另一种方法在一个做?

  • 我需要在java中找到一种类似的巧妙方法来替换多个字符串,就像在php中使用str_replace一样。 我想要一个字符串,然后返回一个字符串,其中数字1到10被替换为这些数字的单词。

  • null 但问题是我的regex不是。

  • 1)当语句按此顺序时,可以: 已执行: 已记录: 有人能告诉你为什么会发生这种情况,如何修复它,或者有什么其他方法可以解决吗?