PHP 按二维数组的键值排序

/**
     * 按二维数组的键值排序
     * @param unknown $array 二维数组
     * @param unknown $key   二维数组的键值
     * @param string $order  升序/降序
     * @return multitype:unknown  返回排序后的数组
     */
    public static function arr_sort_in_key($array, $key, $order = "asc")
    {
        $arr_nums = $arr = array();

        foreach ($array as $k => $v)
        {
            $arr_nums[$k] = $v[$key];
        }

        if($order==‘asc‘)
        {
            asort($arr_nums);
        }
        else
        {
            arsort($arr_nums);
        }

        foreach($arr_nums as $k=>$v)
        {
            $arr[] = $array[$k];
        }

        return $arr;

    }
时间: 2025-01-11 18:40:52

PHP 按二维数组的键值排序的相关文章

php二维数组按照键值排序的方法

//按照传入数组中的num倒序 public function numdesc($array,$key="num",$order="desc"){ $arr_nums=$arr=array(); foreach($array as $k=>$v){ $arr_nums[$k]=$v[$key]; } if($order=='asc'){ asort($arr_nums); }else{ arsort($arr_nums); } foreach($arr_num

二维数组追加键值对

1 $wid=$this->_post('order_id'); 2 if(!$wid){ 3 echo('工单信息获取失败!'); 4 exit; 5 } 6 $where=null; 7 $where['A.wid']=$wid; 8 $list=M('kefu_reply')->alias("A")->join('z_user_common as B on A.uid=B.id')-> 9 where($where)->field('A.*,B.re

php二维数组的取值与转换

1 while(list($key,$value) = each($arr)) 2 { 3 while(list($k,$v) = each($value)) 4 { 5 echo $key."==>".$k."===>".$v."<br>"; 6 } 7 } 1 $msg = array( 2 array( 3 'id'=>'45s', 4 'name'=>'jacks' 5 ), 6 array( 7 'i

使用一个for循环将N*N的二维数组的所有值置1

<?php // 使用一个for循环将N*N的二维数组的所有值置1 $n = 3; $a = []; for($i=0;$i<$n*$n;$i++){ $a[$i/$n][$i%$n] = 1; } print_r($a);

三重for循环实现对二维数组的按列排序(JavaScript)

由C语言联想到的:三重for循环实现对二维数组的按列排序. 自己写的,水平有限,可能存在错误,忘指正~ function circle() { var a = [ [1, 4, 3, 2], [8, 6, 5, 7], [3, 7, 2, 5], [4, 8, 6, 1] ], t = 0, i, j, k; for(i = 0;i < 4;i++) { for(j = 0;j < 3;j++) { for(k = j + 1;k < 4;k++) { if(a[j][i] > a

PHP 二维数组根据某个字段排序

原文:PHP 二维数组根据某个字段排序 要求:从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条. 遇到这个要求的时候就不是 ORDER BY 能解决的问题了.因此翻看 PHP 手册查找到了如下方法,做此笔记. <?php /** * 二维数组根据某个字段排序 * 功能:按照用户的年龄倒序排序 * @author ruxing.li */ header('Content-Type:text/html;Charset=utf-8'

UVA 156 Ananagrams 关于二维数组表示的字符串排序的问题

题目链接:UVA 156 Ananagrams  Ananagrams  Most crossword puzzle fans are used to anagrams--groups of words with the same letters in different orders--for example OPTS, SPOT, STOP, POTS and POST. Some words however do not have this attribute, no matter how

php二维数组修改键名

最近遇到一个问题,是关于json数据提交的时候,总是报出[object object]的错误,查了晚上需要资料,大部分的说法是json数据格式不规范导致的错误.一般建议说将dataType类型注释掉.但是都试了一下都没有解决.最后还怀疑是使用json_encode这个函数php版本的问题等等,都没有解决.主要我后台提交过来的是一个一维数组,而且还没有键值的一维数组.因此有同事说我的json数据格式不规范,必须要有键和值.这个我键蛋疼了,本来使用thinkphp的方式查出的数据就是二维数组,进行数

二维数组去除重复值和array_unique函数

今天遇到了一个问题,就是从数据库中去除的数组为一个二维数组,现在就是想将二位数组进行去重,但是在php中,对于一个一维数组,我们可以直接使用php的系统函数array_unique,但是这个函数不能对多维数组进行去除重复,因此我需要自己写一个去除二维数组重复值的函数. 1 function array_unique_fb($array2D){ 2 3 foreach ($array2D as $v){ 4 $v=join(',',$v);//降维,也可以用implode,将一维数组转换为用逗号连