gpt4 book ai didi

php - str_replace() 忽略计数参数?

转载 作者:可可西里 更新时间:2023-11-01 00:15:54 25 4
gpt4 key购买 nike

如给定here如果完成某些替换,str_replace() 计数参数应该停止。对吧?

这是我的代码:

define("PLACEHOLDER", "INSERT INTO `listings` VALUES (NULL, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s');".PHP_EOL);
$r = (4 - count($_POST['ad']));
print count($_POST['ad'])."\n";
print $r;
$pf_args = str_replace("'%s', ", "", PLACEHOLDER, $r);
print $pf_args;

现在我在一次测试中仔细检查了 $r = 1 的所有内容,并再次确认 count($_POST['ad']) 是 3。尽管如此,str_replace 完全忽略了 count 参数并替换了所有出现的事件:

INSERT INTO `listings` VALUES (NULL, '%s');

这让我发疯。看了这么多anti-php谈话,这些古怪的行为让我觉得它们是错误或它拥有的另一种奇怪的魔法。

最佳答案

我相信 $count 用于检查执行了多少次替换(例如,如果您在使用 str_replace() 后打印 $count,您将得到 10)。

你可以通过使用带有一点正则表达式的 preg_replace() 来做你想做的事。请参阅:How to use str_replace() to remove text a certain number of times only in PHP?

关于php - str_replace() 忽略计数参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10521693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com