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

时间:2017-03-21 18:09:38

标签: php arrays multidimensional-array

我有一个类似的数组:

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'。

1 个答案:

答案 0 :(得分:1)

我最终使用的代码是一个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
    }
  }