php使用自定义替换数据替换数组

时间:2018-01-22 07:25:00

标签: php arrays string

在此代码中,例如:

$hello=['aaaa','bbbb','cccc'];
$by=['1111','2222','3333'];
$data = "1111 aaaa cccc";

我想将$by替换为$hello此自定义替换数据,例如:

str_replace( $hello , "<b>". $by . "</b>" , $data);

但是我得到数组到字符串错误。如何使用此自定义替换方法?

1 个答案:

答案 0 :(得分:2)

您需要在str_replace中将参数作为数组提供,通过连接字符串,它会产生错误。首先在数组替换字符串上应用粗体文本连接,然后使用str_replace

以下是这个想法:

$by = array_map(function($e) {
    return "<b>{$e}</b>";
}, $by);

使用时:

$hello=['aaaa','bbbb','cccc']; // needles
$by=['1111','2222','3333']; // replacements
$by = array_map(function($e) { // apply bold to replacements
    return "<b>{$e}</b>";
}, $by);
$data = "1111 aaaa cccc"; // haystack
$data = str_replace( $hello , $by, $data); // actual replacements
                //     ^ array  ^