Rumah > pembangunan bahagian belakang > tutorial php > PHP开发技巧(二)-实现二维数组根据key进行排序的案例

PHP开发技巧(二)-实现二维数组根据key进行排序的案例

黄舟
Lepaskan: 2023-03-06 13:38:02
asal
2266 orang telah melayarinya

 在PHP中内置了很多对数组进行处理的函数,有很多时候我们直接使用其内置函数就能达到我们的需求,得到我们所想要的结果;但是,有的时候我们却不能通过使用内置函数实现我们的要求,这就需要我们自己去编写算法来对自己的想法进行实现。下面就讲述一下如何实现二维数组根据key进行排序。

        实现方法:

<?php  
  
/** 
 * ======================================= 
 * Created by Zhihua_W. 
 * Author: Zhihua_W 
 * Date: 2016/11/26 0002 
 * Time: 下午 2:43 
 * Project: PHP开发小技巧 
 * Power: 实现二维数组根据key进行排序 
 * ======================================= 
 */  
  
/** 
 * 二维数组排序 
 * @param array $arr 需要排序的二维数组 
 * @param string $keys 所根据排序的key 
 * @param string $type 排序类型,desc、asc 
 * @return array $new_array 排好序的结果 
 */  
function array_sort($arr, $keys, $type = &#39;desc&#39;)  
{  
    $key_value = $new_array = array();  
    foreach ($arr as $k => $v) {  
        $key_value[$k] = $v[$keys];  
    }  
    if ($type == &#39;asc&#39;) {  
        asort($key_value);  
    } else {  
        arsort($key_value);  
    }  
    reset($key_value);  
    foreach ($key_value as $k => $v) {  
        $new_array[$k] = $arr[$k];  
    }  
    return $new_array;  
}  
  
$arr = array(  
    array(  
        &#39;name&#39; => &#39;a&#39;,  
        &#39;sex&#39; => &#39;m&#39;,  
        &#39;sort&#39; => 5  
    ),  
    array(  
        &#39;name&#39; => &#39;c&#39;,  
        &#39;sex&#39; => &#39;m&#39;,  
        &#39;sort&#39; => 8  
    ),  
    array(  
        &#39;name&#39; => &#39;g&#39;,  
        &#39;sex&#39; => &#39;m&#39;,  
        &#39;sort&#39; => 3  
    ),  
    array(  
        &#39;name&#39; => &#39;e&#39;,  
        &#39;sex&#39; => &#39;w&#39;,  
        &#39;sort&#39; => 6  
    ),  
    array(  
        &#39;name&#39; => &#39;b&#39;,  
        &#39;sex&#39; => &#39;w&#39;,  
        &#39;sort&#39; => 2  
    ),  
);  
  
//打印出原数组  
print_r($arr);  
//打印出排好序的数组  
print_r(array_sort($arr,&#39;name&#39;));  
  
?>
Salin selepas log masuk

通过打印出的结果我们就可以看到,数组根据“name”进行排序。

//原数组  
Array  
(  
    [0] => Array  
        (  
            [name] => a  
            [sex] => m  
            [sort] => 5  
        )  
  
    [1] => Array  
        (  
            [name] => c  
            [sex] => m  
            [sort] => 8  
        )  
  
    [2] => Array  
        (  
            [name] => g  
            [sex] => m  
            [sort] => 3  
        )  
  
    [3] => Array  
        (  
            [name] => e  
            [sex] => w  
            [sort] => 6  
        )  
  
    [4] => Array  
        (  
            [name] => b  
            [sex] => w  
            [sort] => 2  
        )  
  
)  
//排序后数组  
Array  
(  
    [2] => Array  
        (  
            [name] => g  
            [sex] => m  
            [sort] => 3  
        )  
  
    [3] => Array  
        (  
            [name] => e  
            [sex] => w  
            [sort] => 6  
        )  
  
    [1] => Array  
        (  
            [name] => c  
            [sex] => m  
            [sort] => 8  
        )  
  
    [4] => Array  
        (  
            [name] => b  
            [sex] => w  
            [sort] => 2  
        )  
  
    [0] => Array  
        (  
            [name] => a  
            [sex] => m  
            [sort] => 5  
        )  
  
)
Salin selepas log masuk


Atas ialah kandungan terperinci PHP开发技巧(二)-实现二维数组根据key进行排序的案例. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan