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

标签 php arrays string

在此代码中例如:

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

我想用 $hello 替换 $by 并使用此自定义替换数据,例如:

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

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

最佳答案

您需要在 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  ^

关于php 用自定义替换数据替换数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48376458/

相关文章:

php - 从 URL 确定网站类型(博客、论坛、资源等)

string - 如何找到Swift字符串中子字符串的最后一次出现?

PHP 为什么我的函数返回具有不同键的数组结果的两倍?

php - 无法调试随机错误

php - 当所选字段的数量未知时,Codeigniter获取数据库记录

php - 从 Shopify 商店卸载应用程序后,从 PHP 应用程序中删除商店详细信息

c++ - 使用 cublas sgemv 时如何跳过 float4 中的第四个元素?

c++ - 将文件中的信息插入到结构中

sql-server - 没有 DateAdd() 的 SSIS 表达式前一个日期

c++ - 浮点到 Char 数组到 std::string