如何在php数组中应用rtrim函数

如何在php数组中应用rtrim函数,php,arrays,cakephp,cakephp-2.0,array-map,Php,Arrays,Cakephp,Cakephp 2.0,Array Map,我有一个这样的数组 Array ( [1] => Hollywood » [2] => 3D Animation » Hollywood » [3] => Natural Beauty » Hollywood » 3D Animation » [4] => Song » Hollywood » [5] => Car » Hollywood » 3D Animation » [6] => Folk Son

我有一个这样的数组

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
方式的解决方案

你可以这样做:

$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>';
$arr=[
“好莱坞”,
“3D动画»好莱坞»”,
“自然美”?好莱坞”?3D动画”,
“歌曲»好莱坞»”,
];
函数trimRaquo($what){
返回rtrim($what,“»”);
}
$arr2=数组映射('trimRaquo',$arr);
回声';
var_dump(2美元);
回声';
我不知道为什么,但当我在符号左侧留出额外的空间时:
“»”
而不是
“»”
该函数将不被应用。我敢说这是因为
“»”!=“»”
rtrim()
查找精确匹配

同样,用单引号或双引号写
“»;”
似乎不起作用,因此我使用了字符
“»”


我不知道cakephp,但这类基本函数的使用与框架无关……

创建一个
函数rtrimRaquo($v){return rtrim($v,“»;”)}
并将其名称传递给
数组映射
数组映射(“rtrimRaquo”,“arrData”)
。是的,我已经尝试过了,但是我如何在
cakephp中实现呢。当我要接受这个答案时,我发现它被删除了。我不知道他为什么删除答案。无论如何,谢谢他帮助我。:)