第一个代码块按预期工作。从foreach
键值数组中打印值是$fnames
。
foreach($fnames as $fname){
echo $fname;
}
$fnames
数组有一个与它对应的$lnames
数组,我想同时用fname打印lname,如下所示:但它没有编译
foreach($fnames as $fname && $lnames as $lname){
echo $fname . " " . $lname;
}
我也试过这个,但那也没有编译。
foreach($fnames,$lnames as $fname,$lname){
echo $fname . " " . $lname;
}
唯一编译的是这个,但它没有给出正确的结果。
foreach($fnames as $fname){
foreach($lnames as $lnames){
echo $fname . " " . $lname;
}
}
如何在同一索引的2个数组之间进行这种配对?
答案 0 :(得分:9)
foreach($fnames as $key => $fname){
echo $fname.' '.$lnames[$key];
}
答案 1 :(得分:5)
另一种选择是:
foreach(array_map(null,$fnames,$lnames) as $name){
echo $name[0].' '.$name[1];
}
答案 2 :(得分:2)
如果您不想组合数组,实际上需要同时运行两个生成器。 Fortuantely,PHP有一种方法可以用数组做到这一点。不过,这有点老了。
reset($fnames);
reset($lnames);
do {
print current($fnames).' '.current($lnames)."\n";
} while( next($fnames) && next($lnames) );
虽然这是一个有点人为的例子,但它仍然是一种有用的技术。