'879798'),[1] = >array(  'name' => "a9",  'time' => '85665565'),"/> '879798'),[1] = >array(  'name' => "a9",  'time' => '85665565'),">

排序有什么更好的步骤

WBOY
发布: 2016-06-13 10:33:39
原创
679 人浏览过

排序有什么更好的方法
array(
[0] =>array(
 'name' => "a",
 'time' => '879798'),
[1] = >array(
 'name' => "a9",
 'time' => '85665565'),
[2] = >array(
 'name' => "hdhdjd",
 'time' => '8154465'),
[3] = >array(
 'name' => "a",
 'time' => '800000'),
[4] = >array(
 'name' => "dr",
 'time' => '789898'),
);


是一个已经按照time排序好的数组
现在要排这样

array(
[0] =>array(
'name' => "a",
'time' => '879798'),
[1] = >array(
'name' => "a",
'time' => '800000'),
[2] = >array(
 'name' => "a9",
 'time' => '85665565'),
[3] = >array(
 'name' => "hdhdjd",
 'time' => '8154465'),

[4] = >array(
 'name' => "dr",
 'time' => '789898'),
);

把name相同的在一起。以第一个出现的次序为大。

不知道有什么好方式啊,代码写的漂亮点的。

------解决方案--------------------

PHP code
$ar = array(0 =>array( 'name' => "a", 'time' => '879798'),1 => array( 'name' => "a9", 'time' => '856565'), //85665565 ? 示例数据有问题吧,看不出是按time排序的!2 =>array( 'name' => "hdhdjd", 'time' => '815465'),3 =>array( 'name' => "a", 'time' => '800000'),4 =>array( 'name' => "dr", 'time' => '789898'),);$result = array();$len = count($ar);for ($i = 0; $i ';print_r($result);/*Array(    [0] => Array        (            [name] => a            [time] => 879798        )    [1] => Array        (            [0] => Array                (                    [name] => a                    [time] => 800000                )        )    [2] => Array        (            [name] => a9            [time] => 856565        )    [3] => Array        (            [name] => hdhdjd            [time] => 815465        )    [4] => Array        (            [name] => dr            [time] => 789898        )    [5] => )*/<br><font color="#e78608">------解决方案--------------------</font><br>有点问题,修改一下:<br>
登录后复制
PHP code
$result = array();$len = count($ar);for ($i = 0; $i <font color="#e78608">------解决方案--------------------</font><br>
登录后复制
C/C++ code
<?php $arr = array(                array(                         'name' => "a",                         'time' => '879798'),                array(                         'name' => "a9",                          'time' => '85665565'),                array(                         'name' => "dr",                          'time' => '8154465'),                array(                         'name' => "a",                          'time' => '800000'),                array(                         'name' => "dr",                          'time' => '789898'),);$names = array();$index = array();array_walk($arr, function($val, $key){                        global $names;                        global $index;                        $names[] = $val['name'];                        $index[] = $key;                });array_multisort($names, $index, $arr);print_r($arr);?><div class="clear">
                 
              
              
        
            </div>
登录后复制
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板