我正在尝试使用 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 查询中包含空字符串?
您可以使用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] 删除。
我来说两句