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

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

$this->$string = 'helloAddMeToArray';

И мой массив:

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

Поэтому мне нужно, чтобы значение моего массива было таким: helloAddMeToArrayPleaseAddAStringToMeIAmLonely

Я пробовал объединить их с помощью '.' но не позволяет мне

1
Tomazi 12 Дек 2014 в 15:22
5
Не имеет отношения к делу: multidementional — потрясающая опечатка по Фрейду.
 – 
Álvaro González
12 Дек 2014 в 15:25
Хе-хе, глупая автокоррекция в «многомерном» хроме xD
 – 
Tomazi
12 Дек 2014 в 15:29

3 ответа

Лучший ответ
$oldArray = array(array('url' => 'PleaseAddAStringToMeIAmLonely'));
$newArray = array();
$this->string = 'helloAddMeToArray';

foreach($oldArray as $o) {
 $newArray[] = array('url' => $this->string . $o['url']);
}
2
Mave 12 Дек 2014 в 15:25
1
Обратите внимание на разницу в '$this->$string = 'helloAddMeToArray';' на этом тоже. $this->$string неверен. @Mave совершенно справедливо изменил его на $this->string = 'helloAddMeToArray';
 – 
H2ONOCK
12 Дек 2014 в 15:26

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

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

Теперь используйте объединение: $string.$myString2;

1
aftechie12 12 Дек 2014 в 15:27

Предполагая, что ваш массив может выглядеть так:

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

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

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

Надеюсь, это вам поможет.

0
KB9 12 Дек 2014 в 15:32