【发布时间】:2012-07-05 19:16:30
【问题描述】:
如果有以下形式的相当大的多维数组(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',...
)
【问题讨论】:
标签: cakephp search set cakephp-2.1