Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2009, 17:04   #1
Tarkh
Новичок
Джуниор
 
Регистрация: 23.12.2009
Сообщений: 2
Вопрос Сложение объектов и равномерное распределение их последовательности

Добрый день!
Вопрос прост, подскажите как сложить 2 или более массива + равномерно распределить последовательность в получившемся в итоге?

Пример:
$array1=["red","red","red"];
$array2=["green","green","green","green","gr een","green","green"];

после сложения должно получиться:
$array_fin=["green","green","red","green","gree n","green","red","green","green","r ed"];

Как-то так, в общем равномерно по новому массиву.
При этом изначальных массивов, которые будут складываться может быть более 2-х.
Есть ли в PHP уже что-то созданное, для реализации сложения и равномерного распределения?
Если нет, подскажите пожалуйста логику..?

Спасибо заранее!

Последний раз редактировалось Tarkh; 23.12.2009 в 17:14.
Tarkh вне форума Ответить с цитированием
Старый 23.12.2009, 20:16   #2
Tarkh
Новичок
Джуниор
 
Регистрация: 23.12.2009
Сообщений: 2
По умолчанию

Сам напряг мозг, придумал решение:

PHP код:
<?
$data
=array(); // общий будущий массив.

$array1=array("red","red","red");
$array2=array("green","green","green","green","green","green","green");

$finlength=count($array1)+count($array2);

// обрабатываем $array1
$div=$finlength/count($array1);
$i=1;
foreach (
$array1 as $element) {
$diff="0.000000".rand(1000000,9999999);
$key = ($div $i)+$diff// создаем подобие индекса очередности

$data["$key"]=$element;
$i++;
}

// обрабатываем $array2
$div=$finlength/count($array2);
$i=1;
foreach (
$array2 as $element) {
$diff="0.000000".rand(1000000,9999999); // понижаем вероятность дублей в ключах
$key = ($div $i)+$diff// создаем подобие индекса очередности

$data["$key"]=$element;
$i++;
}

// Далее сортируем получившийся массив по ключам
ksort($data);

foreach(
$data as $key=>$elem){
echo 
$key." - ".$elem."<br>";
}

?>
Tarkh вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Распределение объектов по окружности Torn Общие вопросы C/C++ 1 29.09.2009 17:43
распределение по массиву SuBwooFer JavaScript, Ajax 2 31.08.2009 10:48
Определить k-ую цифру последовательности Фибоначчи и последовательности натуральных чисел. Med Помощь студентам 1 20.03.2009 11:40
Распределение памяти Jeni Общие вопросы Delphi 6 31.03.2008 19:59