我有一个这样的数组:
$a = array(
0 => array('type' => 'bar', 'image' => 'a.jpg'),
1 => array('type' => 'food', 'image' => 'b.jpg'),
2 => array('type' => 'bar', 'image' => 'c.jpg'),
3 => array('type' => 'default', 'image' => 'd.jpg'),
4 => array('type' => 'food', 'image' => 'e.jpg'),
5 => array('type' => 'food', 'image' => 'f.jpg'),
6 => array('type' => 'food', 'image' => 'h.jpg')
)
我如何找出唯一的类型值(食物、酒吧和默认值)?我可以在 foreach 循环中遍历数组,但有更好的方法吗?
最佳答案
在 PHP >= 5.3 中使用匿名函数:
$unique_types = array_unique(array_map(function($elem){return $elem['type'];}, $a));
对于以前的版本,您可以声明一个单独的函数:
function get_type($elem)
{
return $elem['type'];
}
$unique_types = array_unique(array_map("get_type", $a));
关于php - 从关联数组的数组中获取一个属性的唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25561707/