PHP数组排序和按数量分割

用PHP自带array_multisort函数排序

<?php
 
    $data = array();
    $data[] = array(‘volume‘ => 67, ‘edition‘ => 2);
    $data[] = array(‘volume‘ => 86, ‘edition‘ => 1);
    $data[] = array(‘volume‘ => 85, ‘edition‘ => 6);
    $data[] = array(‘volume‘ => 98, ‘edition‘ => 2);
    $data[] = array(‘volume‘ => 86, ‘edition‘ => 6);
    $data[] = array(‘volume‘ => 67, ‘edition‘ => 7);
 
    // 取得列的列表
    foreach ($data as $key => $row)
    {
        $volume[$key]  = $row[‘volume‘];
        $edition[$key] = $row[‘edition‘];
    }
 
    array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
 
    print_r($data);
?>

结果:

Array
(
    [0] => Array
        (
            [volume] => 98
            [edition] => 2
        )
    [1] => Array
        (
            [volume] => 86
            [edition] => 1
        )
    [2] => Array
        (
            [volume] => 86
            [edition] => 6
        )
    [3] => Array
        (
            [volume] => 85
            [edition] => 6
        )
    [4] => Array
        (
            [volume] => 67
            [edition] => 2
        )
    [5] => Array
        (
            [volume] => 67
            [edition] => 7
        )
)

数组分割:
array_slice($arr,0,10)

http://www.jb51.net/article/48841.htm

时间: 2024-11-03 22:31:07

PHP数组排序和按数量分割的相关文章

将具有分割号的字符串配置按指定位置进行过滤

/** * 将具有分割号的字符串配置进行过滤 * @param point 在分割的第几个坑里,0开始 * @param filterStr 要处理的字符串 * @return 返回过滤后的字符 */ public String calcPoint(int point,String filterStr) { int count = 0; //被遍历次数 int nextIndex = 0; //下一个索引 int lastIndex = 0;//最后一次索引 while (true) { int

2016寒假自学笔记

寒假在家无聊,找了一本还不错的电子书来学习, 一是复习了以前最初学的一些基本类, 二是学一些那时候老师没有教的东西, 看的书是pdf的所以下面全部都是手打出来的,有什么错误在所难免. 其实一个寒假只看了这么一点还是很懒惰的. 放上来以后自己好查.以后空闲了还可以看看.=================================================================================================== 快捷键 Ctrl + Enter

jquery取元素值

var j = 1; if (rows.length > 0) { for (var i = 0; i < rows.length; i++) { var row = rows[i]; id += row.CommodityID + ","; //商品ID var n = parseInt(db) * parseInt($("input[name='cminNum']").eq(row.Seq).val()); //最小数量 allnum = parse

神经网络优化(二) - 学习率

1 学习率的基本定义 学习率learning_rate:每次参数更新的幅度. 简单示例: 假设损失函数 loss = ( w + 1 )2,则梯度为 参数 w 初始化为 5 ,学习率为 0.2 ,则 运行次数 参数w值 计算 1次 5 5-0.2*(2*5+2) = 2.6 2次 2.6 2.6-0.2*(2*2.6+2) = 1.16 3次 1.16 1.16-0.2*(2*1.16+2) = 0.296 4次 0.296   2 学习率的初步应用 2.1  学习率 0.2 时 # 已知损失函

提高系统性能数据库设计的横向分割和纵向分割技术

本文介绍一些关于提高系统性能方面的知识,列分割,行分割,实例分割,物理存储分割等技术. 这篇主要讲解一下数据库的设计,因为一个好的数据结构,对整体系统的运作太重要了,请看看本文的内容. 提到程序性能,大家都知道时间复杂度的公式O(f(n)).在提高性能的这个迷局中,很多人都会想尽办法降低算法函数f的复杂度,或者是提高函数f的运行 速度.但是这些都是没有办法的办法,是舍本求末的办法.如果基数n巨大,这类方法都不会有很好的效果,因为问题的本身在于基数 n.千方百计减少基数n的数量才能获取质的提高.

C++ 代码性能优化 -- 循环分割提高并行性

对于一个可结合和可交换的合并操作来说,比如整数的加法或乘法, 我们可以通过将一组合并操作分割成 2 个或更多的部分,并在最后合并结果来提高性能. 原理: 普通代码只能利用 CPU 的一个寄存器,分割后可以利用多个寄存器. 当分割达到一个数量时,寄存器用完,性能不再提升,甚至会开始下降. 用代码来描述,如下: // 一般情况下的代码 for (i = 1; i < n+1; i++) { res = res OPER i; } // 循环分割后代码 for (i = 1; i < n; i+=2

c语言文件分割与合并

一.综述 c语言操作文件通过文件指针FILE*,每个要操作的文件必须打开然后才能读写. 注意事项: @1分割与合并文件最好使用二进制模式即"rb"或"wb",这样可以操作任何类型文件 @2FILE 指针一定要进行判空操作即看F == NULL成立不 @3文件用完必须关闭,释放系统资源,因为文件会分配缓冲区,占据内存 1.包含头文件 _CRT_SECURE_NO_WARNINGS表示关闭安全检查 1 #define _CRT_SECURE_NO_WARNINGS 2

Shell文本处理 - 分割合并与过滤

sort分类操作 示例文件 Boys in Company C:HK:192:2192Alien:HK:119:1982The Hill:KL:63:2972Aliens:HK:532:4892Star Wars:HK:301:4102A Few Good Men:KL:445:5851Toy Story:HK:239:3972 sort的命令格式为:sort -cmu -o output_file [other options] +pos1 +pos2 input_files 对整行排序 可以

Python分割list

对于一个很大的列表,例如有超过一万个元素的列表,假如需要对列表中的每一个元素都进行一个复杂且耗时的计算,用单线程处理起来会很慢,这时有必要利用多线程进行处理,处理之前首先需要对大的列表进行分割,分割成小的列表,下面给出自己写的一个分割列表的方法: 其中,each为每个列表的大小,len(ls)/eachExact可以避免整除时向下取整,造成总的分组数量的减少. 注意:分组数并不是简单的len(ls)/each+1即可,因为有可能刚好整除,没有余数. 1 def divide(ls,each):