Два массива одним foreach

Рейтинг: 0Ответов: 3Опубликовано: 06.02.2015

Привет, есть два разных массива, динамическая форма. Можно ли оба этих массива проходить одним циклом?

Ответы

▲ 1Принят

Если это два массива одинаковой длины, их можно обходить так:

<?php

// $_POST['arr1'], $_POST['arr2'] - полученные массивы

    foreach ($_POST['arr1'] as $key => $arr1_value)
    {
        $arr2_value = $_POST['arr2'][$key'];
    }

Также можно добавить проверку на наличие ключа во втором массиве во избежание нотисов.

▲ 3

array_map позволяет прогнать несколько массивов, тоже использую для форм

▲ 2

Вообще нельзя. Но можно, если массивы одной длины.

Тут в 2008 году уже обсуждали.

Так:

$a=array('123','234','345'); 
$b=array('a','b','c');

while (list(, $v1) = each($a)) { 
    list(,$v2) = each($b); 
    echo "Value: $v1 = $v2<br />\n"; 
}

Или так:

while ((list(, $v1) = each($a)) && (list(,$v2) = each($b))) { 
    echo "Value: $v1 = $v2<br />\n"; 
}