我需要一个简单快速的解决方案来替换字符串中的第 n 个出现(占位符)。
例如,sql 查询中的第 n 个问号应替换为提供的值。
$subject = "SELECT uid FROM users WHERE uid = ? or username = ?";
所以,我需要类似的功能str_replace_nth($seach, $replace, $subject, $nth)
,对于第二个问号,它应该被称为str_replace_nth("?", $username, $subject, 2);
有任何想法吗?
PS 请不要建议我使用 PDO,因为我正在研究FDO(Facebook 数据对象),这是一个具有类似于 PDO 接口的库,但用于 FQL。
重要的提醒!我发现这种方法很糟糕,因为在第一次替换后,查询被修改并且索引丢失了。(当你在深夜编程时会出现不好的方法:()所以,正如@GolezTrol 在评论中提到的那样,最好一次替换所有内容。