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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Рекурсивное объединение массивов в функции 
V
    Опции темы
Mushu
Дата 24.2.2009, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Помогите с  алгоритмом . Сама задача.

Есть функция . на вход идут 2 массива .  следующей структурой
Код


$mass_1["urov"][0]["per1"] = 1;
$mass_2["urov"][0]["per2"] = 2;



function recuraddarray($out_mass, $in_mass)
{
/**
/Сдесь алгоритм
*/

    
    return $out_mass;
}

$mass = recuraddarray($mass_1, $mass_2)



На выходе получаем массив следующей структуре
Код



$mass["urov"][0]["per1"] = 1;
$mass["urov"][0]["per2"] = 2



Повторяем действие
Код

$mass_3["urov"][1]["per3"] = 3



$mass = recuraddarray($mass, $mass_3)


На выходе получаем массив следующей структуре
Код


$mass["urov"][0]["per1"] = 1;
$mass["urov"][0]["per2"] = 2;
$mass["urov"][1]["per3"] = 3;


 
Повторяем действие
Код

$mass_4["dor"][2]["zzz"] = 4;


$mass = recuraddarray($mass, $mass_4)



И в конечном результате получаем массив данного вида
Код

$mass["urov"][0]["per1"] = 1;
$mass["urov"][0]["per2"] = 2;
$mass["urov"][1]["per3"] = 3;
$mass["dor"][2]["zzz"] = 4;

Я не прошу за меня ее решать, я хотел понять, благодаря вам в каком направление рыть для решение данной задачи, разработки алгоритма.


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


Опытный
**


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

Репутация: 3
Всего: 6



а где тут рекурсия?

я не пойму что именно у тебя не получается?
Не можешь присвоить один масив в качестве значения друго-го?


--------------------
Моя благодарность не будет иметь границ. в определенных рамках конечно ;)
---
Веду IT блог
PM MAIL WWW ICQ   Вверх
NewDima
Дата 24.2.2009, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

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



в общем алгоритм следующий:
читай это
и не парься

PM ICQ   Вверх
NewDima
Дата 24.2.2009, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

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



ну а если хочется тебе рекурсии, душа если просит (или препод-душара) то так:
Код

function merge_arrays($arr1, $arr2)
{
    foreach ($arr1 as $k=>$v)
    {
        if (!isset($arr2[$k]))
        {
            $arr2[$k] = $v;
        }   else
        {
            $arr2[$k] = merge_arrays($arr1[$k], $arr2[$k]);
        }
    }
    return $arr2;
}

PM ICQ   Вверх
Mushu
Дата 24.2.2009, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



NewDima СПАСИБО ИЗУЧАЮЮ
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.0594 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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