展示不相邻的数据

WBOY
Release: 2016-06-13 12:04:00
Original
1065 people have browsed it

显示不相邻的数据

本帖最后由 lazygc520 于 2014-08-05 14:02:30 编辑 已知$arrs,
<br />array (<br />  0 => <br />  array (<br />    'pono' => 'a',<br />    'no' => '4711',<br />  ),<br />  1 => <br />  array (<br />    'pono' => 'a',<br />    'no' => '4714',<br />  ),<br />  2 => <br />  array (<br />    'pono' => 'b',<br />    'no' => '4714',<br />  ),<br />  3 => <br />  array (<br />    'pono' => 'b',<br />    'no' => '4715',<br />  ),<br />  4 => <br />  array (<br />    'pono' => 'c',<br />    'no' => '4715',<br />  ),<br />  5 => <br />  array (<br />    'pono' => 'c',<br />    'no' => '4716',<br />  ),<br />)<br />
Copy after login


现将同pono的数据合并,得:
<br />$tmp=array();<br />$data=array();<br />$i=0;<br />foreach($arrs as $key=>$arr){<br />		if(!empty($tmp) && array_key_exists($arr['pono'],$tmp)){<br />        $key=$tmp[$arr['pono']];<br />        $arr_no=explode(',',$data[$key]['no']);<br />        if(!in_array($arr['no'],$arr_no)) $data[$key]['no'].=','.$arr['no'];<br />    }else{<br />        $tmp[$arr['pono']]=$i;<br />        $data[$i++]=$arr;<br />    }<br />}<br />print_r($data);<br /><br />//得到结果:<br />Array<br />(<br />    [0] => Array<br />        (<br />            [pono] => a<br />            [no] => 4711,4714<br />        )<br /><br />    [1] => Array<br />        (<br />            [pono] => b<br />            [no] => 4714,4715<br />        )<br /><br />    [2] => Array<br />        (<br />            [pono] => c<br />            [no] => 4715,4716<br />        )<br />)<br />
Copy after login


现在想求仅显示不相邻的no,如例中的项:
    [0] => Array
        (
            [pono] => a
            [no] => 4711,4714
        )

请问怎么求?
------解决方案--------------------
<br>$arrs = array (<br>  0 => <br>  array (<br>    'pono' => 'a',<br>    'no' => '4711',<br>  ),<br>  1 => <br>  array (<br>    'pono' => 'a',<br>    'no' => '4714',<br>  ),<br>  2 => <br>  array (<br>    'pono' => 'b',<br>    'no' => '4714',<br>  ),<br>  3 => <br>  array (<br>    'pono' => 'b',<br>    'no' => '4715',<br>  ),<br>  4 => <br>  array (<br>    'pono' => 'c',<br>    'no' => '4715',<br>  ),<br>  5 => <br>  array (<br>    'pono' => 'c',<br>    'no' => '4716',<br>  ),<br>);<br><br><br>$tmp=array();<br>$data=array();<br>$i=0;<br>foreach($arrs as $key=>$arr){<br>        if(!empty($tmp) && array_key_exists($arr['pono'],$tmp)){<br>        $key=$tmp[$arr['pono']];<br>        $arr_no=explode(',',$data[$key]['no']);<br>        if(!in_array($arr['no'],$arr_no)) $data[$key]['no'].=','.$arr['no'];<br>    }else{<br>        $tmp[$arr['pono']]=$i;<br>        $data[$i++]=$arr;<br>    }<br>}<br>print_r($data);<br><br>$result = array();<br><br>foreach($data as $val){<br>	list($a, $b) = explode(',', $val['no']);<div class="clear">
                 
              
              
        
            </div>
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template