在尝试自动在表名和字段名周围放置反引号时,我遇到了一些str_replace问题。
假设我有以下数组:
$match = array('rooms.roomID','r_rooms.roomID');
$replace = array('`rooms`.`roomID`','`r_rooms`.`roomID`');
$subject = 'rooms.roomID = r_rooms.roomID';
str_replace($match,$replace,$subject);
我期望的结果是:
`rooms`.`roomID` = `r_rooms`.`roomID`
但相反,我得到了这个:
`rooms`.`roomID` = r_`rooms`.`roomID`
但是,如果我将r_rooms更改为r_ooms,我的结果与预期的一样
`rooms`.`roomID` = `r_ooms`.`roomID`
我尝试了相同的程序,使用preg_replace,但这也给了我相同的输出。