php二维数组排序与遍历
发布:smiling 来源: PHP粉丝网 添加日期:2014-09-19 22:54:56 浏览: 评论:0
关于php二维数组定义我就不说多了,很简单的,下面几款实例都是讲关于php 二维数组排序与遍历,我们每个实例都是以不同的方法介绍,代码如下:
- function multi_array_sort($multi_array,$sort_key,$sort=sort_asc){
- if(is_array($multi_array)){
- foreach ($multi_array as $row_array){
- if(is_array($row_array)){
- $key_array[] = $row_array[$sort_key];
- }else{
- return -1;
- }
- }
- }else{
- return -1;
- }
- array_multisort($key_array,$sort,$multi_array);
- return $multi_array;
- }
- array(
- array('id'=>1,'data'=>'a'),
- array('id'=>3,'data'=>'c'),
- array('id'=>2,'data'=>'b')
- );
php本身是有一个多维数组排序的函数的,代码如下:
bool array_multisort ( array $ar1 [, mixed $arg [, mixed $... [, array $... ]]] )
方法二,代码如下:
- <?php
- //以时间inputdate为key值进行二维数组降序排列
- function array_sort($arr,$keys,$type){
- $keysvalue=array();
- $i = 0;
- foreach($arr as $key=>$val) {
- $val[$keys] = str_replace("-","",$val[$keys]);
- $val[$keys] = str_replace(" ","",$val[$keys]);
- $val[$keys] = str_replace(":","",$val[$keys]);
- $keysvalue[] =$val[$keys];
- }
- asort($keysvalue); //key值排序
- reset($keysvalue); //指针重新指向数组第一个
- foreach($keysvalue as $key=>$vals) {
- $keysort[] = $key;
- }
- $new_array = array();
- if($type != "asc"){
- for($ii=count($keysort)-1; $ii>=0; $ii--) {
- $new_array[] = $arr[$keysort[$ii]];
- }
- }else{
- for($ii=0; $ii<count($keysort); $ii++){
- $new_array[] = $arr[$keysort[$ii]];
- }
- }
- return $new_array;
- }
- ?>
方法三,代码如下:
- <?php
- $a = array(
- 0=>array("id"=>1,"name"=>"小何","addr"=>"0:1"),
- 1=>array("id"=>2,"name"=>"小刚","addr"=>"0:1:2"),
- 2=>array("id"=>3,"name"=>"小军","addr"=>"0:1:3"),
- 3=>array("id"=>4,"name"=>"公司","addr"=>"0:4"),
- );
- function sort_by($array, $keyname = null, $sortby){
- $myarray = $inarray = array();
- foreach($array as $i=>$befree){
- $myarray[$i] = $array[$i][$keyname];
- }
- switch($sortby){
- case 'asc':
- asort($myarray);
- break;
- case 'arsort':
- arsort($myarray);
- break;
- case 'natcasesor':
- natcasesor($myarray);
- break;
- }
- foreach($myarray as $key=>$befree){
- $inarray[$key] = $array[$key];
- }
- return $inarray;
- }
- print_r(sort_by($a,"addr","arsort"));
- //开源软件:phpfensi.com
- print_r($a[2]["id"]);
- ?>
Tags: php二维数组排序 php数组遍历
- 上一篇:php 删除数组元素方法
- 下一篇:php遍历二维数组与多维数组代码
相关文章
- ·php二维数组排序后获取最大值(2014-07-14)
- ·PHP二维数组排序问题详解(数组键值排序)(2014-07-15)
- ·怎么用PHP实现二维数组按照键值排序(2020-03-30)
- ·php二维数组排序详解(2020-05-16)
- ·php对二维数组按指定键值key排序示例代码(2020-07-06)
- ·php对二维数组进行排序的简单实例(2020-08-11)
- ·一个PHP二维数组排序的函数分享(2020-08-27)
- ·PHP二维数组排序的3种方法和自定义函数分享(2020-11-08)
- ·php实例分享之二维数组排序(2020-12-25)
- ·php中二维数组排序问题方法详解(2021-06-16)
- ·php对二维数组进行相关操作(排序、转换、去空白等)(2021-06-25)
- ·PHP按指定键值对二维数组进行排序的方法(2021-06-30)
- ·PHP二维数组排序简单实现方法(2021-07-09)
- ·php自定义二维数组排序函数array_orderby用法示例(2021-09-05)
- ·php 数组遍历性能的比较(2014-09-05)
- ·PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)(2021-03-13)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)