Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中,通过匹配多维数组中的子键来复制子数组_Php_Arrays_Multidimensional Array - Fatal编程技术网

在PHP中,通过匹配多维数组中的子键来复制子数组

在PHP中,通过匹配多维数组中的子键来复制子数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有一个类似的数组: array( array( 'id' => 'a', 'other' => 'abc: ', 'subarray' => array( 'somekey' => 'abc', ), 'subarray2' => array( 'somekey' => 'abc', ), ), array( 'id' =&g

我有一个类似的数组:

array(
  array(
    'id'         => 'a',
    'other'      => 'abc: ',
    'subarray' => array(
      'somekey' => 'abc',
    ),
    'subarray2' => array(
      'somekey' => 'abc',
    ),
  ),
  array(
    'id'         => 'b',
    'other'      => 'abc: ',
    'subarray' => array(
      'somekey' => 'abc',
    ),
  ),
  array(
    'id'         => 'c',
    'other'      => 'abc: ',
    'subarray' => array(
      'somekey' => 'abc',
    ),
  ),
  )

我需要能够通过匹配ID将每个子数组复制到新数组中。因此,假设我需要匹配ID“b”

我最后使用的代码是一个foreach循环来循环数组并找到我的id,然后使用父数组中的键来复制子数组的值:

  $value = 'b'
  foreach ($this->fields as $fields_array => $sub_array) {
    if ( $sub_array['id'] == $value ) {
      $new_array = $this->fields[$fields_array];
      //do something with new array
    }
  }

这是什么-答案还是问题的补充?这是一个答案,但我想知道是否有比foreach循环更好的方法。