У меня есть такой массив
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>';
Я не уверен почему, но когда я оставляю лишний пробел слева от символа: "»"
вместо " »"
функция не будет применена. Я бы рискнул, потому что " »" !== "»"
а также rtrim()
ищет точные совпадения.
также пишет "»"
похоже, не работает ни в одинарных, ни в двойных кавычках, поэтому я использую персонажа "»"
Я не знаю cakephp, но использование таких фундаментальных функций не зависит от фреймворка …
Других решений пока нет …