如何同时循环遍历多个数组(并行)

时间:2016-02-23 15:14:51

标签: php arrays

Oke所以我不知道为什么这么难,我发现的所有信息都只适用于像array_combine这样的两个数组。

我从表单中动态创建的输入字段中获得了3个数组,所以现在我想要检索数据并将其打印出来,如下所示:

Item1 (array1)
Item1 (array2)
Item1 (array3)

Item2 (array1)
Item2 (array2)
Item2 (array3)

但是现在我的代码完成了一个数组而不是下一个数组。

$article_id = $_REQUEST['article_id'];
$article_descr = $_REQUEST['article_descr'];
$article_ammount = $_REQUEST['article_amount'];

foreach($article_id as $artid) {
    echo = 'Article id: '.$artid.'<br>';
}

foreach($article_descr as $art_descr) {
    echo 'Article description: '.$art_descr.'<br>';
}

foreach($article_ammount as $art_amount) {
    echo 'Article ammount: '.$art_amount.'<br>';
}

2 个答案:

答案 0 :(得分:1)

既然你说所有数组都按其键匹配,我会假设你有类似的东西:

extern int arr[10];

因此,为了有序地获取信息,首先需要找到有多少元素。我们可以使用$article_ids = [10, 22, 13]; $article_descriptions = ["this is one", "this is two", "this is three"]; $article_amounts = [20, 10, 40]; 来使用第一个数组的总和,然后使用count()循环来迭代并获取每个数组的信息。

for

答案 1 :(得分:0)

如果您确定每个项目信息都在所有阵列中的同一个键下,您可以执行以下操作:

$article_id = $_REQUEST['article_id'];
$article_descr = $_REQUEST['article_descr'];
$article_ammount = $_REQUEST['article_amount'];

foreach ($article_id as $id => $value) {
    echo 'Article id: ' . $value . '<br>';
    echo 'Article description: ' . $article_descr[$id] . '<br>';
    echo 'Article ammount: ' . $article_ammount[$id] . '<br>';
}