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

使用自定义替换数据替换数组中的php替换,php,arrays,string,Php,Arrays,String,在此代码中,例如: $hello=['aaaa','bbbb','cccc']; $by=['1111','2222','3333']; $data = "1111 aaaa cccc"; str_replace( $hello , "<b>". $by . "</b>" , $data); 我想用此自定义替换数据将$by替换为$hello,例如: $hello=['aaaa','bbbb','cccc']; $by=['1111','2222','3333']; $

在此代码中,例如:

$hello=['aaaa','bbbb','cccc'];
$by=['1111','2222','3333'];
$data = "1111 aaaa cccc";
str_replace( $hello , "<b>". $by . "</b>" , $data);
我想用此自定义替换数据将
$by
替换为
$hello
,例如:

$hello=['aaaa','bbbb','cccc'];
$by=['1111','2222','3333'];
$data = "1111 aaaa cccc";
str_replace( $hello , "<b>". $by . "</b>" , $data);
stru替换($hello,“$by.”,$data);

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

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

我的想法是:

$by = array_map(function($e) {
    return "<b>{$e}</b>";
}, $by);
$by=array\u映射(函数($e){
返回“{$e}”;
},$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  ^
$hello=['aaaa'、'bbbbb'、'cccc'];//针
$by=['1111'、'2222'、'3333'];//替代品
$by=array\u映射(函数($e){//将粗体应用于替换
返回“{$e}”;
},$by);
$data=“1111 aaaa cccc”;//草垛
$data=str_replace($hello,$by,$data);//实际替换
//^数组^