【发布时间】:2020-01-16 21:32:52
【问题描述】:
我试图在来自用户的“动态字符串”上运行 str_replace。
但是每次我的函数运行时,它似乎输出错误的东西,我不知道如何修复它。
例如,如果$payload['Name'] = 'this name'
那么当函数返回时字符串变成了
this name Placethis name
似乎正在发生的是它还替换了数组中PlaceName 内的Name。
我的代码如下;
function formatThis($payload)
{
$description = '';
if ( array_key_exists('Description', $payload) ) {
$description = $payload['Description'];
}
$placeName = '';
if ( array_key_exists('PlaceName', $payload) ) {
$placeName = $payload['PlaceName'];
}
$dynamicString = "Name PlaceName"
$template = str_replace(
array("Name", "Description", "PlaceName"),
array($payload['Name'], $description, $placeName),
$dynamicString
);
return $template;
}
【问题讨论】:
-
似乎字符串实际上正确替换为函数的描述。它只是不是你喜欢的行为。
标签: php arrays regex string replace