【发布时间】: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