str_replace NULL 值

詹姆士

我正在尝试使用 str_replace 将 '' 值替换为 'phone',我使用了下面的代码,但它没有替换任何内容:

<?php
$start_up = str_replace('','phone','start_up');
$sales = str_replace('','phone','');
$resourcing = str_replace('','phone','resourcing');
$management = str_replace('','phone','');
$array = "($start_up OR $sales OR $resourcing OR $management)";

echo $array;
?>

我想提出这个:

(start_up OR phone OR resourcing OR phone)

但它是这样做的:

(start_up OR OR resourcing OR )

我知道我可以使用 !isset($var) 类型的查询,但这似乎笨拙且冗长。有没有办法在 str_replace 查询中包含空字符串?

mega6382

您可以使用preg_replace代替str_replace

$start_up = preg_replace('/^$/','phone','start_up');
$sales = preg_replace('/^$/', 'phone', '');
$resourcing = preg_replace('/^$/','phone','resourcing');
$management = preg_replace('/^$/','phone','');
$array = "($start_up OR $sales OR $resourcing OR $management)";

echo $array;

输出:

(start_up OR phone OR resourcing OR phone)

它将替换一个空字符串phone

编辑:或者您可以使用empty()三元运算符

$start_up = empty('start_up') ? 'phone' : 'start_up';
$sales = empty('') ? 'phone' : '';
$resourcing = empty('resourcing') ?'phone' : 'resourcing';
$management = empty('') ? 'phone' : '';
$array = "($start_up OR $sales OR $resourcing OR $management)";

echo $array;

输出同上。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章