zoukankan      html  css  js  c++  java
  • PHP排序之二维数组的按照字母排序方法

    简介:这是PHP排序之二维数组的按照字母排序方法的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。

    class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=344027' scrolling='no'>
    PHP排序之二维数组的按照字母排序方法,
    在实际开发还是非常有用的,有需要的拿去,http://lab.wehefei.com
    <?php
    /**
    * Sort an two-dimension array by some level two items use array_multisort() function.
    *
    * sysSortArray($Array,"Key1","SORT_ASC","SORT_RETULAR","Key2"……)
    * @author                      Chunsheng Wang <wwccss@263.net>
    * @param  array   $ArrayData   the array to sort.
    * @param  string  $KeyName1    the first item to sort by.
    * @param  string  $SortOrder1  the order to sort by("SORT_ASC"|"SORT_DESC")
    * @param  string  $SortType1   the sort type("SORT_REGULAR"|"SORT_NUMERIC"|"SORT_STRING")
    * @return array                sorted array.
    */
    function sysSortArray($ArrayData,$KeyName1,$SortOrder1 = "SORT_ASC",$SortType1 = "SORT_REGULAR")
    {
        if(!is_array($ArrayData))
        {
            return $ArrayData;
        } 
        $ArgCount = func_num_args();
     
        for($I = 1;$I < $ArgCount;$I ++)
        {
            $Arg = func_get_arg($I);
            if(!eregi("SORT",$Arg))
            {
                $KeyNameList[] = $Arg;
                $SortRule[]    = '$'.$Arg;
            }
            else
            {
                $SortRule[]    = $Arg;
            }
        }
     
        foreach($ArrayData AS $Key => $Info)
        {
            foreach($KeyNameList AS $KeyName)
            {
                ${$KeyName}[$Key] = $Info[$KeyName];
            }
        }
     
        $EvalString = 'array_multisort('.join(",",$SortRule).',$ArrayData);';
        eval ($EvalString);
        return $ArrayData;
    }
     
     
    //################# 示例 #################
    $arr = array(
        array(
            'name'        =>    '学习',
            'size'        =>    '1235',
            'type'        =>    'jpe',
            'time'        =>    '1921-11-13',
            'class'        =>    'D',
        ),
        array(
            'name'        =>    '中国功夫',
            'size'        =>    '153',
            'type'        =>    'jpe',
            'time'        =>    '2005-11-13',
            'class'        =>    'J',
        ),
        array(
            'name'        =>    '编程',
            'size'        =>    '35',
            'type'        =>    'gif',
            'time'        =>    '1997-11-13',
            'class'        =>    'A',
        ),
        array(
            'name'        =>    '中国功夫',
            'size'        =>    '65',
            'type'        =>    'jpe',
            'time'        =>    '1925-02-13',
            'class'        =>    'D',
        ),
        array(
            'name'        =>    '中国功夫',
            'size'        =>    '5',
            'type'        =>    'icon',
            'time'        =>    '1967-12-13',
            'class'        =>    'C',
        ),
    );
     
    print_r($arr);
     
    //注意:按照数字方式排序时 153 比 65 小
    $temp = sysSortArray($arr,"class","SORT_ASC","type","SORT_DESC","size","SORT_ASC","SORT_STRING");
     echo "<pre>";
    print_r($temp);
    ?>


    本文来源:

    http://lab.wehefei.com/posts/372

    来源:合肥网产品中心 http://lab.wehefei.com 更多欢迎关注下。

    爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

    http://biancheng.dnbcw.info/php/344027.html pageNo:5
  • 相关阅读:
    2015 Multi-University Training Contest 2 1004 Delicious Apples(DP)
    开门人和关门人
    数据降维 实例
    Leetcode题解(5):L58/Length of Last Word
    JavaWeb开发环境搭建
    Linux配置hugepage
    lua的函数初识
    有人离职时经理的反应是?
    svn如何回滚到之前版本
    python用httplib模块发送get和post请求
  • 原文地址:https://www.cnblogs.com/ooooo/p/2241949.html
Copyright © 2011-2022 走看看