zoukankan      html  css  js  c++  java
  • PHP 多维数组按照指定的顺序进行排序

    利用PHP的usort函数对多维数组按照指定的顺序进行排序:

    例如:

    public  function ceshi()
        {        
            $arr1 = array(
                    
                array('id' => 1, 'name' => 'yhp'),
                array('id' => 2, 'name' => 'yhp2'),
                array('id' => 3, 'name' => 'yhp3'),
                array('id' => 4, 'name' => 'yhp4'),
                array('id' => 5, 'name' => 'yhp5'),
                array('id' => 6, 'name' => 'yhp6'),
                array('id' => 7, 'name' => 'yhp7'),
                array('id' => 8, 'name' => 'yhp8'),
                array('id' => 9, 'name' => 'yhp9'),
                array('id' => 10,'name' => 'yhp10'),
            );
    
            echo "排序前的数组:<pre>";
            print_r($arr1);
            echo "</pre>";
    
            usort($arr1, array($this, "compare"));
    
            echo "排序后的数组:<pre>";
            print_r($arr1);
            echo "</pre>";
           
        }
        
        public function compare($a, $b)
        {    
            $arr2 = array(6,8,7,9,3,2,4,1,5,10,11,12);
    
            return (array_search($a['id'], $arr2) < array_search($b['id'], $arr2)) ? -1 : 1;
        }  

    排序后的数组:

    Array
    (
        [0] => Array
            (
                [id] => 6
                [name] => yhp6
            )
    
        [1] => Array
            (
                [id] => 8
                [name] => yhp8
            )
    
        [2] => Array
            (
                [id] => 7
                [name] => yhp7
            )
    
        [3] => Array
            (
                [id] => 9
                [name] => yhp9
            )
    
        [4] => Array
            (
                [id] => 3
                [name] => yhp3
            )
    
        [5] => Array
            (
                [id] => 2
                [name] => yhp2
            )
    
        [6] => Array
            (
                [id] => 4
                [name] => yhp4
            )
    
        [7] => Array
            (
                [id] => 1
                [name] => yhp
            )
    
        [8] => Array
            (
                [id] => 5
                [name] => yhp5
            )
    
        [9] => Array
            (
                [id] => 10
                [name] => yhp10
            )
    
    )
  • 相关阅读:
    木马后门入侵与RKHunter,ClamAV检测工具
    Jenkins环境搭建
    Mha-Atlas-MySQL高可用
    JAVA企业级应用服务器之TOMCAT实战
    Keepalived高可用集群
    scp ssh-key连接原理
    jumpserver跳板机搭建
    DNS域名解析服务器
    DHCP服务
    Keepalived高可用集群
  • 原文地址:https://www.cnblogs.com/whoamme/p/2599580.html
Copyright © 2011-2022 走看看