在php中使用数组键替换子字符串

时间:2015-09-09 13:18:27

标签: php arrays string

使用数组替换字符串

$array = ['name' => 'John', 'other' => 'I am working'];
$content = "Hi {name}, {other}";
//$expected = "Hi John, I am working";

我需要帮助来创建一个函数,该函数将在字符串中搜索数组键名,并使用数组值替换键名(带有curl括号)的任何实例并返回预期的

3 个答案:

答案 0 :(得分:4)

只需创建一个这样的函数

function replace($content, $array)
{
    foreach ($array as $key => $val)
    {
        $content = str_replace('{'.$key.'}', $val, $content);
    }
    return $content;  
}

使用

致电

echo replace($ content,$ array);

这对您来说非常合适

答案 1 :(得分:0)

使用您提供的内容这是一种非常简单的方法:

foreach ($array as $key => $val){
  $content = str_replace('{'.$key.'}', $val, $content);
}

我不确定格式"{$key}"是否可行,因为大括号可能需要转义,所以我选择使用简单的字符串连接。

答案 2 :(得分:0)

为什么不简单地遍历数组并替换所有内容?

$array = ['name' => 'John', 'other' => 'I am working'];
$content = "Hi {name}, {other}";

foreach ($array as $key => $replacement) {
    $content = str_replace('{' . $key . '}', $replacement, $content);
}