数组和嵌套的foreach

时间:2013-09-02 00:34:02

标签: php arrays foreach

我有两个数组输出(使用preg_match_all),例如:$name[1]$family[1]

我需要将这些数组放在一起,并使用foreach作为:

foreach( $name[1] as  $name) {
    foreach( $family[1] as  $family) {
    echo  $name.$family.'<br />';
   }
}

但它不起作用。

(每个foreach循环单独工作)

3 个答案:

答案 0 :(得分:1)

假设他们有匹配的循环键:

foreach( $name as $key => $value) {

    echo  $value[$key] . $family[$key] . '<br />';

}

这会查看$name的每个匹配项并将其打印出来,然后打印出相应的$family。我认为你想要硬编码[1]

如果你这样做,我有点困惑,希望看到var_dump$name的{​​{1}}作为澄清。

答案 1 :(得分:0)

$together= array();
foreach( $name as $key => $n) {
   $tuple= array('name'=>$name[$key],'family'=>$family[$key]);
   $together[$key]= $tuple;
}

foreach( $together as $key => $tuple) {
   echo "{$tuple['name']} {$tuple['family']}<br />"; 
}

答案 2 :(得分:0)

使用array_combine()

  

使用keys数组中的值作为键来创建数组   值数组中的值作为相应的值。

PHP代码:

$nameFamilly=array_combine($name[1] , $family[1]);
foreach(  $nameFamilly as  $name=>$familly) {

    echo  $name.$family.'<br />';

}