在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循环更好的方法。