php基础篇-二维数组排序姐妹篇
Jun 23, 2016 pm 01:51 PM
php
Base
array
前面介绍了php多维数组排序的一个函数array_multisort() ,想了解的人可以点击二维数组排序 array_multisort
下面介绍下不适用array_multisort()进行多维数组的排序。
这里介绍下2个php排序函数,一个是asort,一个是arsort.
asort(array,sorttype) 函数对数组进行排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序。
可选的第二个参数包含了附加的排序标识。
如果成功则返回 TRUE,否则返回 FALSE。
arsort(array,sorttype) 函数对数组进行逆向排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序。这个函数的用法和asort一样,只不过这个是对数组的索引进行逆向排序。
下面给出二维数组的排序算法:
<?php
Copy after login
<span style="white-space:pre"> </span>function array_sort($arr,$key,$type='asc'){ <span style="white-space:pre"> </span>$keyvalues = $new_array = array();<span style="white-space:pre"> </span>foreach ($arr as $k=>$v){<span style="white-space:pre"> </span>$keyvalues[$k] = $v[$key];<span style="white-space:pre"> </span>}<span style="white-space:pre"> </span>if($type == 'asc'){<span style="white-space:pre"> </span>asort($keyvalues);<span style="white-space:pre"> </span>}else{<span style="white-space:pre"> </span>arsort($keyvalues);<span style="white-space:pre"> </span>}<span style="white-space:pre"> </span>foreach ($keyvalues as $k=>$v){<span style="white-space:pre"> </span>$temparray[$k] = $arr[$k];<span style="white-space:pre"> </span>}<span style="white-space:pre"> </span>return $temparray; <span style="white-space:pre"> </span>}<span style="white-space:pre"> </span>$student = array(<span style="white-space:pre"> </span>array('name'=>'张三','age'=>'18','weight'=>100,'height'=>180),<span style="white-space:pre"> </span>array('name'=>'李四','age'=>'20','weight'=>200,'height'=>150),<span style="white-space:pre"> </span>array('name'=>'王五','age'=>'30','weight'=>150,'height'=>165),<span style="white-space:pre"> </span>array('name'=>'赵六','age'=>'50','weight'=>90,'height'=>173),<span style="white-space:pre"> </span>array('name'=>'孙七','age'=>'35','weight'=>160,'height'=>170)<span style="white-space:pre"> </span>);<span style="white-space:pre"> </span>$studentlist = array_sort($student,'weight');<span style="white-space:pre"> </span>var_dump($studentlist);?>
Copy after login
通过asort这个函数,将保留二维数组的索引排序,再通过这个索引,即可得到排序好的二维数组的索引对应的值。
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

Hot Article
Repo: How To Revive Teammates
3 weeks ago
By 尊渡假赌尊渡假赌尊渡假赌
How Long Does It Take To Beat Split Fiction?
3 weeks ago
By DDD
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks ago
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
1 weeks ago
By 尊渡假赌尊渡假赌尊渡假赌

Hot tools Tags

Hot Article
Repo: How To Revive Teammates
3 weeks ago
By 尊渡假赌尊渡假赌尊渡假赌
How Long Does It Take To Beat Split Fiction?
3 weeks ago
By DDD
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks ago
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
1 weeks ago
By 尊渡假赌尊渡假赌尊渡假赌

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian

How To Set Up Visual Studio Code (VS Code) for PHP Development
