我有一个类似的数组
Array
(
[1] => Hollywood »
[2] => 3D Animation » Hollywood »
[3] => Natural Beauty » Hollywood » 3D Animation »
[4] => Song » Hollywood »
[5] => Car » Hollywood » 3D Animation »
[6] => Folk Song » Hollywood » Song »
[7] => Modern Song » Hollywood » Song »
)
现在我要删除最后一个»(>>)
。我认为可以通过rtrim
函数
实施例
rtrim("Modern Song » Hollywood » Song »", "»");
现在如何在没有任何循环的情况下在数组中应用rtrim
。
我试过但我不知道如何在rtrim
函数
$restult = array_map('rtrim', $arrData);
我也试试
$restult = array_map('rtrim', $arrData, '»');
但第三个参数必须是数组
Array
(
[1] => Hollywood
[2] => 3D Animation » Hollywood
[3] => Natural Beauty » Hollywood » 3D Animation
[4] => Song » Hollywood
[5] => Car » Hollywood » 3D Animation
[6] => Folk Song » Hollywood » Song
[7] => Modern Song » Hollywood » Song
)
首选cakephp
方式的解决方案。
答案 0 :(得分:0)
你可以这样做:
$arr = [
'Hollywood » ',
'3D Animation » Hollywood » ',
'Natural Beauty » Hollywood » 3D Animation » ',
'Song » Hollywood » ',
];
function trimRaquo($what) {
return rtrim($what," »");
}
$arr2 = array_map('trimRaquo',$arr);
echo '<pre>';
var_dump($arr2);
echo '</pre>';
我不确定为什么,但是当我遗漏符号左侧的额外空格时:"»"
而不是" »"
,该功能将不会被应用。我会冒这个危险,因为" »" !== "»"
和rtrim()
会查找完全匹配。
编写"»"
似乎也不起作用,无论是单引号还是双引号,因此我使用了字符"»"
我不知道cakephp,但是这种基本功能的使用与框架无关......