我有一个存储在PHP变量中的动态值。该变量包含一串数据,表示单击了哪些复选框。它返回如下:Option1,Option2,Option3,Option4 .....
我想删除逗号,所以它只是Option1 Option2 Option3 Option4 ....
我的代码:
<?php
$type = the_field('type_of_work');
$type = str_replace(",", "",$type);
echo $type;
?>
出于某种原因,逗号仍在呈现中。知道为什么或如何解决这个问题?您知道,the_field('type_of_work')是一种从wordpress'后端提取高级自定义字段的方法,但不应该与此问题相关,因为它正在使用逗号成功重新调整字符串。有什么想法吗?
更新:我会采用不同的方式:
if(in_array('brand-id', get_field('type_of_work') )):
echo "brand-id";
endif;
echo " ";
if(in_array('print', get_field('type_of_work') )):
echo "print";
endif;
等......
答案 0 :(得分:5)
还有一些你不包括的东西。您发布的代码完美无瑕。如果你仍然看到逗号,那么其他东西就在这里发挥作用。
<?php
$type = the_field('type_of_work');
$type = str_replace(",", "",$type);
echo $type;
?>
这是die
的完美时间,所以你肯定知道。
<?php
die(str_replace(',', '',the_field('type_of_work')));
?>
答案 1 :(得分:2)
虽然您提供的代码应该完美无缺,但我建议您使用此代码:
$type = explode(',', $type);
这将把它变成一个值数组。单独trim()
每个值也是个好主意。
所以,而不是:
$item = 'Item1 Item2 Item3';
你会得到一个数组:
$item = array('Item1', 'Item2', 'Item3'); // Assuming each value is `trim()`ed
答案 2 :(得分:0)
正则表达式替换
preg_replace("/,/", "", $string);
答案 3 :(得分:0)
您可以尝试将它们爆炸成阵列,然后将它们重新爆发出来......
$split = "super,cali,fragilistic,expi,alidocious";
$arr = explode(",",$split);
$finalStr = implode(" ",$arr);
echo $finalStr;
super cali fragilistic expi alidocious
答案 4 :(得分:0)
这就是诀窍:
<?php
$type = get_field('type_of_work');
$type = implode(' ', $type);
echo $type;
?>
或者简单地说:
<?php echo implode(' ', get_field('type_of_work')); ?>
因为get_field是一个数组。