首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多层无嵌套

问多层无嵌套
EN

Stack Overflow用户
提问于 2010-07-26 22:41:25
回答 3查看 1.7K关注 0票数 4

第一个代码块按预期工作。它是一个foreach,用于从$fnames键值数组中打印值.

代码语言:javascript
复制
foreach($fnames as $fname){
   echo $fname;
}

$fnames 数组有一个与之对应的数组,我想同时打印带有fname的lname,如下所示:但它不编译

代码语言:javascript
复制
foreach($fnames as $fname && $lnames as $lname){
   echo $fname . " " . $lname;
}

我也试过这个,但这也不能编译。

代码语言:javascript
复制
foreach($fnames,$lnames as $fname,$lname){
   echo $fname . " " . $lname;
}

唯一编译的就是这个,但没有给出正确的结果。

代码语言:javascript
复制
foreach($fnames as $fname){
   foreach($lnames as $lnames){
       echo $fname . " " . $lname;
   }
}

如何在同一索引下实现两个数组之间的这种配对?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-26 22:45:12

代码语言:javascript
复制
foreach($fnames as $key => $fname){ 
   echo $fname.' '.$lnames[$key]; 
}
票数 9
EN

Stack Overflow用户

发布于 2010-07-26 23:26:18

另一种选择是:

代码语言:javascript
复制
foreach(array_map(null,$fnames,$lnames) as $name){
    echo $name[0].' '.$name[1];
}
票数 5
EN

Stack Overflow用户

发布于 2010-07-26 23:50:33

如果不想组合数组,那么实际上需要同时运行两个生成器。幸运的是,PHP有一种方法可以对数组执行此操作。不过,有点老派了。

代码语言:javascript
复制
reset($fnames);
reset($lnames);
do {
    print current($fnames).' '.current($lnames)."\n";
} while( next($fnames) && next($lnames) );

虽然这是一个稍微人为的例子,但它仍然是一个有用的技术,以了解。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3339506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档