Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Слияние 2 массивов в один с сохранение вложенности, array merge 
:(
    Опции темы
Mushu
Дата 30.10.2008, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: -2
Всего: -5



Добрый день хотел спросить кто не  будь сталкивался с такой задачей ?

Дано 2 массива 

Код

$mass1[0]["gor"] = 11;
$mass2[0]["data"]["kol"] = 12;



А нужно получить массив в данном виде
Код


Array
(
    [0] => Array
        (
            [gor] => 11
            [data] => Array
                (
                    [kol] => 12
                )

        )

)



Как это можно реализовать ?
Через  array_merge() и array_merge_recursive() не работает.
PM MAIL   Вверх
bars80080
Дата 30.10.2008, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Код

$mass1[0]["data"] = $mass2[0]["data"];
а так?
PM MAIL WWW   Вверх
Mushu
Дата 30.10.2008, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: -2
Всего: -5



неа массивы могут быть произвольной вложенности

Это сообщение отредактировал(а) Mushu - 30.10.2008, 14:30
PM MAIL   Вверх
bars80080
Дата 30.10.2008, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



при чём здесь это? всё что у тебя в $mass2[0]["data"], пусть хоть двадцать уровней вложенности, они присвоятся первому массиву
PM MAIL WWW   Вверх
americanets
Дата 30.10.2008, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 5
Всего: 12





--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
Mushu
Дата 30.10.2008, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: -2
Всего: -5



Может я не праве льно изложил постановку задачи, Хорошо усложним задачу дано 4 массив и их нужно слить в один 

Код

$mass[0]["per"] = 10;
$mass1["gor"] = 10;
$mass3["data"]["kol"] = 10;
$mass4["data"]["per"] = 11;



на выходе должно получиться 

Код

Array
(
    [0] => Array
        (
            [per] => 10
        )

    [gor] => 10
    [data] => Array
        (
            [kol] => 10
            [per] => 11
        )

)


PM MAIL   Вверх
bars80080
Дата 30.10.2008, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Mushu, ну документации же полно:  http://ru2.php.net/manual/ru/function.arra...e-recursive.php

Код

$mass[0]["per"] = 10;
$mass1["gor"] = 10;
$mass3["data"]["kol"] = 10;
$mass4["data"]["per"] = 11;

$a = array_merge_recursive($mass, $mass1, $mass3, $mass4);
var_dump($a);

PM MAIL WWW   Вверх
Mushu
Дата 30.10.2008, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: -2
Всего: -5



Спс !!!
PM MAIL   Вверх
Mushu
Дата 30.10.2008, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: -2
Всего: -5



Работает, но этот подход через цикл с 2 массивами не прокатит один из них накопительный второй все время новый
PM MAIL   Вверх
bars80080
Дата 30.10.2008, 18:27 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



не вижу никаких циклов

при правильном подходе всё покатит, надо только сформулировать задачу ясно
PM MAIL WWW   Вверх
Mushu
Дата 31.10.2008, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: -2
Всего: -5



Согласен с стобой, щас попробую правильно изложить
PM MAIL   Вверх
Mushu
Дата 15.1.2009, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: -2
Всего: -5



А если так :


$mass[23]["per"] = 10;
$mass1["gor"] = 10;
$mass3["data"]["kol"] = 10;
$mass4["data"]["per"] = 11;


то на выход должно получиться:
Код

Array
(
    [23] => Array
        (
            [per] => 10
        )
    [gor] => 10
    [data] => Array
        (
            [kol] => 10
            [per] => 11
        )
)

PM MAIL   Вверх
Mushu
Дата 5.2.2009, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: -2
Всего: -5



Есть идеии ..?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0919 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.