Как применить функцию rtrim в массиве в Stack Overflow

У меня есть такой массив

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

Решение

Вы можете сделать это так:

$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, но использование таких фундаментальных функций не зависит от фреймворка …

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]