多个foreach循环和访问外部值


Multiple foreach loops and accessing values outside

我正在尝试访问循环之外的多个foreach循环中的多个值:

foreach(array1 as arr1) {
    $var1 = arr2['value1'];  //$array is associative array with mutliple keys value1
}

然后我有另一个

foreach(array2 as arr2) {
    $var2 = arr2['value']; //$array2 is another associative array with multiple keys value
}

所有这些都在另一个大foreach循环中,现在我想在使用$var1$var2的大foreach中创建一个数组。我要创建的这个数组也是一个关联数组。你知道我该怎么做吗?

阵列1:

Array
(
  [0] => Array
    (
        [id] => 1
        [id_name] => 251452
        [name] => bob
    )
[1] => Array
    (
        [id] => 2
        [id_name] => 251453
        [name] => bob
    )
)

阵列2:

Array
(
[0] => Array
    (
        [id_person] => 4
        [id_last_name] => 251452
        [last_name] => smith
    )
[1] => Array
    (
        [id_person] => 15
        [id_last_name] => 251453
        [last_name] => johnson
    )
)

假设这些来自数据库中的两个不同查询。

我想从第一个数组中为每个数组获取名字,从第二个数组中获取姓氏,并创建一个包含这些数据的数组和其他数组。

了解多维数组。

还可以看看stdclass,也许可以创建一个这样的数组,它可以在一个定义中存储许多变量,这在很多方面都有帮助。(标准级)

嵌套循环-这只会将所有子数组转储到一个对象中//InnerArray 的对象和数组示例

 $Object = new stdclass();
 $AllOfIt = array();
 $cnt = 0;
 foreach($OuterArray as $OuterKey => $InnerArray)
 {
      $cnt++;
      foreach($InnerArray as $InnerKey => $InnerValue)
      {
           $Object->$cnt = $InnerValue;
           $AllOfIt[$cnt] = $InnerValue;
      }
 }