2015-08-20 2 views
2

Ниже мой массив, который генерирует динамически, то есть оно не определено, сколько элементов будет в этом массиве, а индексы массива являются не последовательными:Как манипулировать массив в функции

$arrayVar = Array 
    (
     [0] => hello 
     [2] => rahul ku 
     [4] => Juhi Chawla 
     [6] => Dhak Dhak 
     [8] => Best of 
     [10] => Jacqueline Fernandez 
     [12] => Alia bhatt 
) 

Я хочу

Array 
    (
     [0] => hello 
     [2] => rahul+ku 
     [4] => Juhi+Chawla 
     [6] => Dhak+Dhak 
     [8] => Best+of 
     [10] => Jacqueline+Fernandez 
     [12] => Alia+bhatt 
) 

Я делаю это следующим образом:: получить что-то вроде этого результат

function rename($value, $key) { 
    $name[] = str_replace(' ', '+', $value); 
    return $name 
} 

$getArray[] = array_walk($fp_title_arr, "rename"); 

В чем проблема? Могу ли я получить хорошее решение для этого?

+2

'str_replace()' также принимает ** ** массивы в качестве аргументов! JUST DO: '$ array = str_replace (" "," + ", $ array);' – Rizier123

+0

@ Rizier123 Подумайте, если нам нужно что-то добавить во всем значении массива, тогда как я могу это сделать ... – rahul

+0

[' array_walk'] (http://php.net/array_walk) странно. Значение массива передается в функцию 'rename' как * reference *. Вам нужно сделать это: 'function rename (& $ value, $ key) {$ value = str_replace ('', '+', $ value); } '. –

ответ

6

str_replace() работы с массивами:

$result_arr = str_replace(' ', '+', $fp_title_arr); 

предмет

Строка или массив осуществлять поиск и заменены на, иначе известный как стогу.

Если объектом является массив, то поиск и замена выполняются с помощью каждой записи объекта, а возвращаемое значение также является массивом.

Возвращаемые значения

Эта функция возвращает строку или массив с замененными значениями.

Если вы кодируете для URL, то вы просто можете сделать:

$result_arr = array_map('urlencode', $fp_title_arr); 
Смежные вопросы