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

时间:2015-04-06 06:56:27

标签: 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 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方式的解决方案。

1 个答案:

答案 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()会查找完全匹配。

编写"&raquo;"似乎也不起作用,无论是单引号还是双引号,因此我使用了字符"»"

我不知道cakephp,但是这种基本功能的使用与框架无关......