我有一个数组:
$members = array(
'Group1' => array(
'user1',
'user2'
),
'Group2' => array(
'user3',
'user4'
),
'Group3' => array(
'user5'
));
如何搜索特定用户的群组名称?
答案 0 :(得分:2)
最简单(逻辑上)方式是一个快速的foreach循环,通过in_array()
检查以查找您的名字是否在子数组中:
$search = 'user4';
foreach($members as $group_name => $names)
if(in_array($search, $names))
echo $search . ' is in ' . $group_name; // user4 is in Group2
答案 1 :(得分:1)
假设用户可能出现在多个组中:
$groups = array();
foreach ($members as $group_name => $group_members) {
if (in_array('user4', $group_members)) {
$groups[] = $group_name;
}
}
变量$groups
将包含匹配的所有组名,但在上面的示例中仅包含“Group2”。