如果有以下形式的相当大的多维数组(flickr EXIF 数据)。
array(
(int) 81 => array(
'tagspace' => 'Nikon',
'tagspaceid' => (int) 0,
'tag' => 'ISOExpansion2',
'label' => 'ISOExpansion2',
'raw' => 'Off'
),
(int) 82 => array(
'tagspace' => 'Nikon',
'tagspaceid' => (int) 0,
'tag' => 'LensType',
'label' => 'Lens Type',
'raw' => 'G'
),
(int) 83 => array(
'tagspace' => 'Nikon',
'tagspaceid' => (int) 0,
'tag' => 'Lens',
'label' => 'Lens',
'raw' => '11-16mm f/2.8'
),...
)
是否有一种快速有效的方法来提取具有某些值的数组,即我会寻找键“Tag”的值“Lens”并获取一个数组作为返回值:
array(
'tagspace' => 'Nikon',
'tagspaceid' => (int) 0,
'tag' => 'Lens',
'label' => 'Lens',
'raw' => '11-16mm f/2.8'
)
另外,这可以使用 Set 完成吗?我只通过使用实现了以下目标$extract = Set::classicExtract($exifarray, '{n}.tag')
:
array(
(int) 81 => 'ISOExpansion2',
(int) 82 => 'LensType',
(int) 83 => 'Lens',...
)