За последние 24 часа нас посетили 22939 программистов и 1237 роботов. Сейчас ищут 717 программистов ...

слияние массивов

Тема в разделе "PHP для новичков", создана пользователем SergVL, 6 янв 2020.

  1. SergVL

    SergVL Активный пользователь

    С нами с:
    11 авг 2016
    Сообщения:
    25
    Симпатии:
    0
    Подскажите пожалуйста.

    Есть два массива:

    $arr1=array(1,2,3,4);

    $arr2=array(1.2,2.2,3.3,4.4);

    Как объединить эти два массива в один, чтобы 0=>1,1=>1.2,2=>2,3=>2.2
    Но при этом мы не знаем какие есть значения массивов (т.е. мы не сможем сделать поиск по значению)

    И когда уже получен один массив, то каждую пару , т.е. 0=>1,1=>1.2 покрасить цветом background,
    а 2=>2,3=>2.2 тоже покрасить, но это будет отдельный элемент отображения.
    В итоге получится, что то блок схемы, где каждая пара - блок за блоком

    При этом длинна массива полученного неизвестна (т.е. не известно сколько будет таких пар)

    Заранее спасибо
     
  2. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    зачем?
     
  3. SergVL

    SergVL Активный пользователь

    С нами с:
    11 авг 2016
    Сообщения:
    25
    Симпатии:
    0
    Нужно создать блок схему
     
  4. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    Что это за массивы и откуда они берутся?
     
  5. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.824
    Симпатии:
    738
    Адрес:
    Татарстан
    для объединения массивов есть функциb array_merge(), array_merge_recursive()
     
  6. SergVL

    SergVL Активный пользователь

    С нами с:
    11 авг 2016
    Сообщения:
    25
    Симпатии:
    0
    имелся многомерный массив ассоциативный массив
    Из него по ключам выводились 2 значения, получилось два массива не ассоциативных, т.к. ключи у этих значений одинаковые , следовательно, как ассоциативный массив уже не выводит
    Что получилось
    0=>'Пес' 0=>'Собака'
    1=>'Кот' 1=>'кошка'

    Что должно получиться
    0=>'Пес'
    0=>'Собака'
    1=>'Кот'
    1=>'кошка'

    Вообще мне необходимо сделать блок схему
    Пес ----------------> Кот
    Собака Кошка

    А в какую сторону копать даже не знаю.
    --- Добавлено ---
    Не подскажите, через что можно создать блок схему и данные туда чз php
     
  7. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    всё, дальше задавать наводящие вопросы уже страшно...
     
  8. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.824
    Симпатии:
    738
    Адрес:
    Татарстан
    Блок схемы в php ни через чего не задаются... Они рисуются от руки или в редакторе каком либо.

    Вы прямо изначальную задачу лучше обрисуйте...

    Ну и поисковиков никто не отменял, чтоб посмотреть что за функции я вам дал и как они работают.
     
  9. AlexandrS

    AlexandrS Активный пользователь

    С нами с:
    30 сен 2017
    Сообщения:
    659
    Симпатии:
    103
    Адрес:
    Краснодар
    Я думаю тут речь просто о элементе
    HTML:
    1. <DIV>
    параметре background
    Группируем так как нужно и под каждую группу свой цвет
    --- Добавлено ---
    Дай нормальный массив с теми значениями, которые есть (только чтоб получилось три и более группы) и нарисуй результат, мол, вот так нужно, чтоб получилось на выходе.
    Ибо все эти условности вносят смуту!
    --- Добавлено ---
    Если ты объединишь 2 массива в один, т.е.
    PHP:
    1. [0=>'Пес', 1=>'Кот']
    +
    PHP:
    1. [0=>'Собака', 1=>'кошка']
    у тебя получится один массив такого формата
    PHP:
    1. [0=>'Пес', 1=>'Кот', 2=>'Собака', 3=>'кошка']
    И сгруппировать тут уже ни чего не получится, если только не написать отдельный модуль ИИ который сам будет проходиться по массиву, выбирая те значение которые попадают под ту или иную группу, но его тоже предварительно придется обучить :)
    Это ты, смотря на картинку и текст понимаешь что ты хочешь, а машине нужно дать четкие указания к действию и что и как делать, так что как уже написал выше, дай рабочий массив и покажи, что нужно получить на выходе.
    --- Добавлено ---
    Какая логика определения пар, если в первом варианте ты пишешь цифровые значение, а во втором уже текстовые, если ключ одного массива, равный ключу массива другого массива - это пара, то это одно, а если из рандомного списка значений одного массива, нужно найти пару в другом массиве, и при этом по х.з. какому признаку, то думаю ПХП тут явно не поможет ;)
    --- Добавлено ---
    Такое нужно?

    PHP:
    1. <?php
    2.  
    3. $oneArr = ['kot', 'pes', 'enot'];
    4. $twoArr = ['koteyka', 'pesik', 'enotih'];
    5.  
    6. $color = ['#CD5C5C', '#E9967A', '#FA8072'];
    7.  
    8.  
    9. foreach ($oneArr as $key => $value) {
    10.    
    11.     echo "<div  style='background: {$color[$key]}; width: 300px; margin: 5px; padding: 5px; text-align: center;'>$value + {$twoArr[$key]}</div>";
    12.  
    13. }
    14.  
    15. ?>