如何在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中实现呢。当我要接受这个答案时,我发现它被删除了。我不知道他为什么删除答案。无论如何,谢谢他帮助我。:)