【问题标题】:Useing str_replace to replace In two strings that contains new added text使用 str_replace 替换两个包含新添加文本的字符串
【发布时间】:2021-05-11 13:47:58
【问题描述】:

我正在尝试替换字符串的一部分,但函数 str_replace 打印完全相同的原始字符串而不替换它!我知道这一点是因为我的第一个和第二个字符串有一堆双引号,我试图解决这个问题但我失败了!

我的代码:

$update_this_item = $test_array[$key].",";
$updated_item = $data_item[0].",".($data_item[1]+1).",".$data_item[2].",".$data_item[3].",".$data_item[4].",".$data_item[5].",";
echo str_replace($update_this_item, $updated_item, $test);

我会为你解释这些字符串:

$test = "2021/05/11,1024,260,600,180,450|2021/05/10,1024,260,600,180,450|2021/05/09,1024,260,600,180,450|2021/05/08,1024,260,600,180,450|2021/05/07,1024,260,600,180,450";
echo $test_array[$key]; //2021/05/11,1024,260,600,180,450
echo $updated_item; //2021/05/11,1025,260,600,180,450,

希望能找到解决这个问题的方法,谢谢大家!

【问题讨论】:

  • 您能否分享一个明确的var_export 所涉及的所有变量?目前我不确定// 是评论还是输出的一部分。
  • 无论如何,您在搜索值的末尾附加一个逗号:$update_this_item = $test_array[$key].",";,但在您的测试字符串中,管道 | 位于最后一个值之后,而不是逗号。
  • @El_Vanja 这是字符串的输出
  • @El_Vanja 我已经从两个字符串的末尾删除了逗号,问题就解决了! ????‍♂️谢谢你提醒我!你不知道我花了多少时间试图解决这个问题!谢谢老哥

标签: php str-replace


【解决方案1】:

在 $test 你没有',' 比 而不是

$update_this_item = $test_array[$key].",";

使用

 $update_this_item = $test_array[$key];

【讨论】:

    猜你喜欢
    • 2016-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-30
    • 2020-01-16
    • 1970-01-01
    • 1970-01-01
    • 2019-09-10
    相关资源
    最近更新 更多