2014-12-12 4 views
1

У меня есть функция, которая возвращает многомерный array() Я хочу объединить строку в каждое значение этого массива. Как я могу это сделатьДобавить строку в multidementional array

, например моя строка:

$this->$string = 'helloAddMeToArray'; 

и мой массив:

array(array('url' => 'PleaseAddAStringToMeIAmLonely')); 

Поэтому мне нужно мое значение массива, чтобы быть похожим на это: helloAddMeToArrayPleaseAddAStringToMeIAmLonely

I попытался объединить их с '.' но не позволяет мне

+5

Unrelated: * multidementional * является удивительным Фрейдистская опечатка –

+0

хехе глупо автокорректировки на хроме «многомерный» XD – Tomazi

ответ

2
$oldArray = array(array('url' => 'PleaseAddAStringToMeIAmLonely')); 
$newArray = array(); 
$this->string = 'helloAddMeToArray'; 

foreach($oldArray as $o) { 
$newArray[] = array('url' => $this->string . $o['url']); 
} 
+1

Обратите внимание на разницу в «$ это -> $ строка =„helloAddMeToArray“;» на этом тоже. $ this -> $ string неверна. @Mave вполне корректно изменил его на $ this-> string = 'helloAddMeToArray'; – H2ONOCK

1

Попробуйте это:
сначала получить строку из вашего многомерного Array, и введите брось.

$myString2 = (string)$myArray[0]->url; 

Теперь используйте concatination: $string.$myString2;

0

Если предположить, что массив может выглядеть следующим образом:

[ 
    "key"=>[ 
      "keyK"=>"val" 
      ], 
    "key2"=>"val2" 
] 

и вы хотите объединить строку каждому значению из этого массива вы должны использовать array_walk_recursive функцию. Это короткий snnipet делает эту работу:

$stringToConcatenate=$this->$string = 'helloAddMeToArray'; 
$callback($val,$key) use ($stringToConcatenate){ 
$val.=$val.$stringToConcatenate; 
} 
array_walk_recursive($youArray,$callback); 

Я надеюсь, что это помогает.

Смежные вопросы