我有一个字符串:item1|item2|item 3|yyyy-mm-dd
。
|
是项目的分隔符。日期附加到item1 | item2 | item3 |
,您可以在item3之后添加更多项目,因此可以有无限数量的项目。我希望能够删除最后一个分隔符。有没有办法做到这一点?我知道我可以用rtrim()
修剪结尾,但我不知道如果它不确定而不是在字符串的末尾,该怎么做。这就是我在末尾使用带分隔符的字符串:
$exp = explode("|", $row['item'],-1);
$li = rtrim($row['item'], '|');
if(is_null($exp[1])) {
echo $li;
}
else {
echo str_replace("|", ", ", $li);
}
我在这里做的是检查item
是否有多个输入。如果只有一个,它只是删除最后一个分隔符。否则,它会删除最后一个分隔符,但也会用逗号|
替换管道,
。我希望输出看起来像这样:
item1, item2, item3 yyyy-mm-dd
这可能吗?谢谢
答案 0 :(得分:1)
按putString for string
putInt for Int
....
使用array_pop()弹出最终项目然后implode()与|
一起弹出数组,最后追加最后一项(array_pop的返回值) )最后。
,
<强>结果:强>
<?php
$str = 'item1|item2|item 3|yyyy-mm-dd';
$array = explode('|', $str);
$last = array_pop($array);
echo implode (', ', $array).' '.$last;
如果你有一个字符串:item1, item2, item 3 yyyy-mm-dd
,你可以使用array_filter:
item1|item2|item 3||item 4|||yyyy-mm-dd
<强>结果:强>
<?php
$str = 'item1|item2|item 3||item 4|||yyyy-mm-dd';
$array = explode('|', $str);
$array = array_filter($array);
$last = array_pop($array);
echo implode (', ', $array).' '.$last;