首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数组中的字符串替换为变量

数组中的字符串替换为变量
EN

Stack Overflow用户
提问于 2015-07-21 22:16:06
回答 2查看 56关注 0票数 0

如果我使用以下代码,则可以:

代码语言:javascript
复制
$phrase  = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy   = array("pizza", "beer", "ice cream");
$newphrase = str_replace($healthy, $yummy, $phrase);

// Provides: You should eat pizza, beer, and ice cream every day

但是,如果我要替换的单词列表是一个变量,该怎么办。

代码语言:javascript
复制
$sample1 = "fruits, vegetables, fiber";
$sample2 = "pizza, beer, ice cream";
$phrase  = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array($sample1);
$yummy   = array($sample2);
$newphrase = str_replace($healthy, $yummy, $phrase);

// Provides: You should eat fruits, vegetables, and fiber every day.

如果我使用:

代码语言:javascript
复制
$sample1 = '"fruits", "vegetables", "fiber"';
$sample1 = '"pizza", "beer", "ice cream"';
$phrase  = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array($sample1);
$yummy   = array($sample2);
$newphrase = str_replace($healthy, $yummy, $phrase);

我是不是遗漏了什么?

有什么容易做到的方法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-21 22:22:06

您需要将字符串提交给数组,在本例中使用need:

代码语言:javascript
复制
$sample1 = "fruits, vegetables, fiber";
$sample2 = "pizza, beer, ice cream";
$phrase  = "You should eat fruits, vegetables, and fiber every day.";
    $healthy = explode(',',$sample1);
    $yummy   = explode(',',$sample2);
$newphrase = str_replace($healthy, $yummy, $phrase);
票数 0
EN

Stack Overflow用户

发布于 2015-07-21 22:24:26

您可以使用分隔符将string分解为array

代码语言:javascript
复制
$sample1 = "fruits, vegetables, fiber";
$sample2 = "pizza, beer, ice cream";
$phrase  = "You should eat fruits, vegetables, and fiber every day.";
$healthy = explode(",", $sample1);
$yummy   = explode(",", $sample2);
$newphrase = str_replace($healthy, $yummy, $phrase);

不过,我建议您在每个字符串之间不要有空白。如果您要这样做,那么您可能希望trim()每个值。array_map()在这里很有用,因为您可以将一个函数映射到如下所示的每个值:

代码语言:javascript
复制
$healthy = array_map('trim', explode(",", $sample1));

所以整件事会更像是:

代码语言:javascript
复制
$sample1 = "fruits    ,    vegetables,fiber";
$sample2 = "pizza,      beer,ice cream";
$phrase  = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array_map('trim', explode(",", $sample1));
$yummy   = array_map('trim', explode(",", $sample2));
$newphrase = str_replace($healthy, $yummy, $phrase);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31550591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档