Обработка двух массивов в foreach

183
11 апреля 2022, 15:20

Всем привет! У меня такая проблема:

Есть 2 массива, которые перебираются через foreach одновременно. Далее мне нужно соединить элементы двух массивов в один так, чтобы первое значение 1-го массива соединялось с первым элементом 2-го массива , второе со вторым и так далее. И чтобы это соединение было только одно. То есть элементы соединялись в один только равные по индексу

Первый массив $understand должен связывается с вторым $paradigm, в примере используется еще phpmorphy, так как необходимо изменение окончания у второго массива.

В переменную $d выводится готовое сообщение, но каждый элемент 1-го массива связывается с каждым из 2-го массива.

foreach ( $understand as $director_1 ) { 
    foreach($paradigm as $form) {
        if(!$form->hasGrammems('ВН') || !$form_1->hasGrammems('МР') || !$form->hasGrammems('ЕД')|| !$form_1->hasGrammems('ТВ') || !$form_1->hasGrammems('ЕД'))
            continue;
        $d = $director_1 .' '. $form->getWord() .' '.$k_object_2.' '. $form_1->getWord() .' '.$k_form_2;
        $d = mb_strtolower($d);
        $d = lcfirst($d);    
    }
}
echo $d ."<br />";
Answer 1

Если массивы подобного типа, то можно сравнивать ключи.
Пример:

<?php
$understand = array("a","b","c");
$paradigm = array("1","2","3");
foreach ( $understand as $key=>$director_1 ) {
    foreach($paradigm as $key1=>$form) {
        if ($key == $key1){
            $d = $director_1 . ' - ' . $form;
        }
    }
    echo $d . '<br>';
}

Результат:

a - 1
b - 2
c - 3

Пример с предоставленными массивами:

$understand = array("собирать","работать","помогать");
$paradigm = array("метод анализа","дискуссия","вопрос");

foreach ( $understand as $key=>$director_1 ) {
    foreach($paradigm as $key1=>$form) {
        if ($key == $key1){
            $d = $director_1 . ' - ' . $form;
        }
    }
    echo $d . '<br>';
}

Результат:

собирать - метод анализа
работать - дискуссия
помогать - вопрос
READ ALSO
SQL инъекция формы на сайте

SQL инъекция формы на сайте

Всем привет, получил задание написать простую форму регистрации и авторизации на сайте,успешно справился, теперь нужно зайти на сайт зная...

235
Убрать запятую в конце генерирущихся элементов

Убрать запятую в конце генерирущихся элементов

Всем приветЕсть php код в котором автоматически генерируются элементы

113
Почему кеш растет бесконечно?

Почему кеш растет бесконечно?

Сегодня заметил, что память на сервере полностью занятаПроверил кеш, его размер составлял 17 Гб и он занял всё свободное место на сервере

207