php中可以用foreach遍历2个数组吗?

foreach($id as $sid,$smyz as $hdh) {}这样写报错 可以遍历2个吗 求正确姿势
2025-03-24 17:00:57
推荐回答(2个)
回答(1):

php foreach 语法上是不可以同时遍历2个数组的,只能遍历一个数组。
代码如下:
$array1 = array(0=>'a',1=>'b');

foreach($array1 as $key1=>$value1){

echo $key1.':'.$value1.'
';
}
?>
不过,如果这2个数组有相同的键名的话,可以同时遍历。
代码如下:
$array1 = array(0=>'a',1=>'b');
$array2= array(0=>'c',1=>'d');
foreach($array1 as $key1=>$value1){

echo '数组1 '.$key1.':'.$value1.'
';
echo '数组2 '.$key1.':'.$array2[$key1].'
';
}

回答(2):

不行,如果两个数组的个数一样的话又有对应关系可以使用下面的方法进行同时遍历

foreach($id as $key=>$sid){
    //这里的$key是当前数据在数组中的下标,如果两个数组有统一的下标,那么就可以使用
    $tmp = $smyz[$key];
    //来访问
}

如果下标不统一就没法做了。