php多维数组去重,该如何解决

WBOY
풀어 주다: 2016-06-13 12:09:42
원래의
1380명이 탐색했습니다.

php多维数组去重
php多维数组去重,怎样去掉name为a的多余的那一个呢?
Array
(
    [0] => Array
        (
            [id] => 79
            [name] => a
        )

    [1] => Array
        (
        
            [id] => 79
            [name] => a
        )
    [2] => Array
        (
            [id] => 78
            [name] => b
        )
    [3] => Array
        (

            [id] => 36
            [name] => c
        )
)
------解决思路----------------------

$ar = array (<br />  0 => <br />  array (<br />    'id' => '79',<br />    'name' => 'a',<br />  ),<br />  1 => <br />  array (<br />    'id' => '79',<br />    'name' => 'a',<br />  ),<br />  2 => <br />  array (<br />    'id' => '78',<br />    'name' => 'b',<br />  ),<br />  3 => <br />  array (<br />    'id' => '36',<br />    'name' => 'c',<br />  ),<br />);<br />foreach($ar as $k=>$f) {<br />  foreach($ar as $p=>$t) if($k != $p && $f == $t) unset($ar[$k]);<br />}<br />print_r($ar);
로그인 후 복사
Array<br />(<br />    [1] => Array<br />        (<br />            [id] => 79<br />            [name] => a<br />        )<br /><br />    [2] => Array<br />        (<br />            [id] => 78<br />            [name] => b<br />        )<br /><br />    [3] => Array<br />        (<br />            [id] => 36<br />            [name] => c<br />        )<br /><br />)<br /><br />
로그인 후 복사

------解决思路----------------------
<br />$arr=array(<br />     0=>array(<br />        'id'=>79,<br />        'name'=>'a'<br />         ),<br />     1=>array(<br />        'id'=>79,<br />        'name'=>'a'<br /><br />      ),<br />     2=>array(<br />        'id'=>78,<br />        'name'=>'b'<br />     ),<br />     3=>array(<br />        'id'=>36,<br />        'name'=>'c'<br />     ),<br />);<br />$item=array();<br />foreach($arr as $k=>$v){<br />    if(!isset($item[$v['id']])) $item[$v['id']]=$v;<br />}<br />print_r(array_values($item));<br />
로그인 후 복사

<br />Array<br />(<br />    [0] => Array<br />        (<br />            [id] => 79<br />            [name] => a<br />        )<br /><br />    [1] => Array<br />        (<br />            [id] => 78<br />            [name] => b<br />        )<br /><br />    [2] => Array<br />        (<br />            [id] => 36<br />            [name] => c<br />        )<br /><br />)<br /><br />
로그인 후 복사


------解决思路----------------------
<br /><?php<br /><br />$ar = array (<br />  0 => <br />  array (<br />    'id' => '79',<br />    'name' => 'a',<br />  ),<br />  1 => <br />  array (<br />    'id' => '79',<br />    'name' => 'a',<br />  ),<br />  2 => <br />  array (<br />    'id' => '78',<br />    'name' => 'b',<br />  ),<br />  3 => <br />  array (<br />    'id' => '36',<br />    'name' => 'c',<br />  ),<br />);<br /><br /><br />$temp =array();<br />$result =array();<br /><br />foreach($ar as $item){<br />	$temp[] = json_encode($item);<br />}<br /><br />$temp = array_unique($temp);<br /><br />foreach($temp as $item){<br />	$result[] = json_decode($item,true);<br />}<br /><br />var_dump($result);
로그인 후 복사

只是提供新思路 效率不高 勿用


<br />array(3) {<br />  [0]=><br />  array(2) {<br />    ["id"]=><br />    string(2) "79"<br />    ["name"]=><br />    string(1) "a"<br />  }<br />  [1]=><br />  array(2) {<br />    ["id"]=><br />    string(2) "78"<br />    ["name"]=><br />    string(1) "b"<br />  }<br />  [2]=><br />  array(2) {<br />    ["id"]=><br />    string(2) "36"<br />    ["name"]=><br />    string(1) "c"<br />  }<br />}
로그인 후 복사

------解决思路----------------------
SELECT DISTINCT(`id`) AS `id` , name FROM `TABLE`

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿