|
|
|
| Здравствуйте, имею ассоциативный массив $out который содержит вложенный массив, тоесть
$out[0]
$out[1]
$out[2]
$out[3]
кол-во ключей произвольное. Нужно все их объединить в один массив.
Смотрел функцию array_merge которая объединяет так как мне надо, например
array_merge( $out[0], $out[1] );
это если прописать в ручную, сколько пропишешь, столько и объединит, но ведь кол-во может меняться, может быть
array_merge( $out[0], $out[1] );
или
array_merge( $out[0], $out[1] ,$out[2] );
или
array_merge( $out[0], $out[1] , $out[2] , $out[3] );
...
нужно как-то динамически объединять, есть какое нибудь решение? | |
|
|
|
|
|
|
|
для: web777
(25.01.2012 в 23:40)
| | Можно так:
<?
$new_array = array();
$count = count($out);
for($i = 0; $i < $count; $i++)
foreach($out[$i] as $key => $val)
$new_array[$key] = $val;
|
| |
|
|
|
|
|
|
|
для: web777
(25.01.2012 в 23:40)
| | Можно так:
<pre><?php
$out[0] = array(1,3,5,7);
$out[3] = array(1,2,3,4,5,11);
$out[4] = array("tree"=>"dub","i"=>"apple");
$keys = array_keys($out);
eval('$new_array = array_merge($out['.implode('],$out[',$keys).']);');
print_r($new_array);
?></pre>
| результат:
Array
(
[0] => 1
[1] => 3
[2] => 5
[3] => 7
[4] => 1
[5] => 2
[6] => 3
[7] => 4
[8] => 5
[9] => 11
[tree] => dub
[i] => apple
)
|
| |
|
|
|
|
|
|
|
для: Sfinks
(26.01.2012 в 00:04)
| | спасибо всем, полазил тут на форуме, и нашёл такой вариант $data += $v;
делаем так
$data = array();
foreach($out as $k=>$v)
{
$data += $v;
}
|
теперь всё отлично, как и планировалось. | |
|
|
|