Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP将多个值传递给foreach函数_Php_Foreach - Fatal编程技术网

PHP将多个值传递给foreach函数

PHP将多个值传递给foreach函数,php,foreach,Php,Foreach,我想知道在PHP中如何将多个数组传递给for-each循环 例如,在下面的示例中,我希望将$array1和$array2都传递给此For each循环,而不是将For each循环写入两次 $array1 = somestring; $array2 = someotherstring; foreach ($array1 as $vals) { //do something cool } 编辑:为了澄清,我知道数组声明无效。它只是一个占位符。这不值得一票否决。我想用$array1运行整

我想知道在PHP中如何将多个数组传递给for-each循环

例如,在下面的示例中,我希望将
$array1
$array2
都传递给此For each循环,而不是将For each循环写入两次

$array1 = somestring;
$array2 = someotherstring;

foreach ($array1 as $vals) {
    //do something cool
}

编辑:为了澄清,我知道数组声明无效。它只是一个占位符。这不值得一票否决。我想用$array1运行整个foreach循环,然后用$array2再次运行。

你可以用
数组映射(null,$array1,$array2)
压缩两个索引数组。这样,您将拥有一个列表,其中第一个元素来自
$array1
,第二个元素来自
$array2
。您可以迭代此列表,并在一次迭代中访问两个数组元素

$array3 = array_merge($array1, $array2);
foreach ($array3 as $vals) {
    // do your coolness
}
$array1 = [1, 2, 3];
$array2 = [1, 2, 3];

$zip = array_map(null, $array1, $array2);

foreach ($zip as $tuple) {
    echo $tuple[0], '-', $tuple[1], PHP_EOL;
}
这是


请注意,数组(在本例中为列表)的长度必须相同。另一方面,您将以breaked结束,其中一个元素是
null

$arrayForEach=array\u merge($array1,$array2)如果您不添加更多信息,则无法真正回答此问题。您可以在一个循环中处理两个数组。但你必须告诉我们这是如何处理的。是否要对两个数组的元素进行一次迭代?还是在两个数组上分别迭代?或者……如果您不需要$array3来做其他事情:
foreach(array\u merge($array1,$array2)作为$vals){
您好,您的回答与我的意思不完全一致,但我在最初的问题中没有澄清。我想做的是使用array1运行整个foreach循环,然后使用array2再次运行整个循环。我为不清楚而道歉。