2012-12-06 6 views
0
내가 배열을

,배열 검색 => 값

$arr=(
    [0] => Array 
     (
      [groupid] => 1 
      [groupname] => Red 
      [members] => Array 
       (
        [0] => Array 
         (
          [mid] => 9 
          [name] => Anith 
         ) 

        [1] => Array 
         (
          [mid] => 11 
          [name] => Aravind 
         ) 

        [2] => Array 
         (
          [mid] => 10 
          [name] => Lekshmi 
         ) 



       ) 

     ) 

    [1] => Array 
     (
      [groupid] => 2 
      [groupname] => Blue 
      [members] => Array 
       (
        [0] => Array 
         (
          [mid] => 6 
          [name] => Yamuna 
         ) 

        [1] => Array 
         (
          [mid] => 2 
          [name] => Kamala K 
         ) 

        [2] => Array 
         (
          [mid] => 13 
          [name] => Sooraj K 
         ) 



       ) 

     ) 

내가 [mid] => 2을 확인 할은 내가 그것을 삭제할 을 존재하는 array..If에 (즉. 해제 배열) -----

[1] => Array 
         (
          [mid] => 2 
          [name] => Kamala K 
         ) 
;;; 

예 : - unset($arr[1]['members'][2];

답변

4

이 트릭을 할해야

당신이 교활 점점 기분이 경우

, 당신이 뭔가를 할 수 있습니다 :

// note: requires PHP >= 5.3 
foreach ($arr as $key => &$value) { 
    $value['members'] = array_filter(
     $value['members'], 
     function($member) { 
      return $member['mid'] != 2; 
     } 
    ); 
} 

var_dump($arr); 
+1

개인적으로 중요한 변수'$의 이름을 바꿀 것입니다 당신이 더 많은 설명이 무언가로 사용했습니다 k' 같은 $ 그룹 ' –

+0

'로 고마워, 또 하나의 도움이 ... 만약 내가 [groupid] => 1이면이 그룹과 관련된 설정을 해제 하시겠습니까 –

+0

Sanu, 무작위로 결과를 필터링하는 대신 올바른 데이터를 쿼리 하는게 어떨까요? –