您好,我是PHP的新手.
$arr = array(0 => array(‘GID’=> 1,’groupname’=>“ cat1”,’members’=> array(0 => array(‘mid’=> 11 ,’mname’=>’wwww’),1 => array(‘mid’=> 12,’mname’=>’wswww’))),
1 => array(‘GID’=> 2,’groupname’=>“ cat2”,’members’=> array(0 => array(‘mid’=> 13,’mname’=>’gggwwww ‘),1 => array(‘mid’=> 14,’mname’=>’wvvwww’))),
2 => array(‘GID’=> 3,’groupname’=>“ cat1”,’members’=> array(0 => array(‘mid’=> 15,’mname’=>’wwddsww ‘)),1 => array(‘mid’=> 16,’mname’=>’wwwdddw’))));
ie...,I have GID,groupname,mid(member id),mname(member name).I want to insert a new mid and mname into a group if it is already in the array ,if it is not exists then create a new subarray with these elements..I also need to check a member id(mid) is also present.........................I used the code but its not working fine............. if (!empty($evntGroup)) {
foreach ($evntGroup as $k => $group) {
if ($group['GID'] == $group_id) {
foreach($group as $j=> $mem){
if($mem['mid'] == $mem_id){
unset($evntGroup[$k]['members'][$j]['mid']);
unset($evntGroup[$k]['members'][$j]['mname']);
}
else{
$evntGroup[$k]['members'][] = array(
'mid' => $mem_id,
'mname' => $mem_name);
}}
} else {
$evntGroup[] = array(
'GID' => $group_id,
'groupname' => $Group['event_group_name'],
'members' => array(
0 => array(
'mid' => $mem_id,
'mname' => $mem_name
)
)
);
}
}
} else {
$evntGroup[$i]['GID'] = $group_id;
$evntGroup[$i]['groupname'] = $Group['event_group_name'];
$evntGroup[$i]['members'][] = array(
'mid' => $mem_id,
'mname' => $mem_name);
$i++;
}
解决方法:
function isgidInArray($arr, $val) {
foreach($arr as $cur) {
if($cur['GID'] == $val)
return true;
}
return false;
}
您已经更新了问题,以指定在找到指定的GID时要执行的操作,但这只是对循环的一个微不足道的补充:
function doSomethingIfGidInArray($arr, $val) {
foreach($arr as $cur) {
if($cur['GID'] == $val) {
doSomething();
break; //Assuming you only expect one instance of the passed value - stop searching after it's found
}
}
}
不幸的是,没有原生的PHP数组函数可以检索父数组中每个数组的相同索引.我经常想要这样的东西.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。