2015-10-27 24 views
0

我目前有:的foreach从多个阵列中的单个查询

foreach($Opts['img'] as $img) 
{ 
} 

我想补充:

foreach($Opts['lnk'] as $lnk) 

这一点我最初读,这样做只是把它们如下:

foreach($Opts['img'] as $img) 
{ 
    foreach($Opts['lnk'] as $lnk) 
    { 
    } 
} 

但是这个复制了所有的结果,所以我最终得到9个图像而不是3个。

有没有从同一个查询中获取这两个数组的信息的方法?我想结束$ img显示图像地址和$ lnk显示链接地址。

+0

没有。 foreach仅在单个数组上循环。如果你想并行地在两个数组上循环,你必须将数组合并成一个数组并循环,或者使用某种键映射系统将两个数组的条目相互关联。 –

+0

每个阵列中的键是否相同? – AbraCadaver

+0

@AbraCadaver是的,他们是 – BN83

回答

1

对于相同的密钥,只需使用在foreach关键:

foreach($Opts['img'] as $key => $img) 
{ 
    $lnk = $Opts['lnk'][$key]; 

    echo "$img and $lnk"; 
}