php 二维数组索引乱序 shuffle() 函数;

在实际开发中有一个打乱数组排序的案例

案例代码如下

 public function index(){
        if(IS_POST){
            #获取卖单列表
            $buy_list=M(‘buy‘)->where([‘status‘=>1])->field(‘num‘)->select();
            #获取卖单列表
            $sell_list=M(‘sell‘)->where([‘status‘=>1])->field(‘num‘)->select();
            foreach($buy_list as $key=>$value){
                $buy_list[$key][‘type‘]=‘buy‘;
                $buy_list[$key][‘rmb‘]=round($value[‘num‘]*6.3,2);
            }

            foreach($sell_list as $k=>$v){
                $sell_list[$k][‘type‘]=‘sell‘;
                $sell_list[$k][‘rmb‘]=round($v[‘num‘]*6.3,2);
            }

            $order=(array_merge($buy_list,$sell_list));
            shuffle($order);
            if($order){
                $this->ajaxReturn([‘code‘=>200,‘data‘=>$order]);
            }
            $this->ajaxReturn([‘code‘=>100,‘msg‘=>‘暂时没有订单数据,您可以预下下单,系统会优先匹配‘]);
        }else{
            $this->display();
        }

在合并数组后只需要使用shuffle()函数对数据排序进行乱序处理即可

原文地址:https://www.cnblogs.com/LiChen-789/p/10124029.html

时间: 2024-10-08 06:54:03

php 二维数组索引乱序 shuffle() 函数;的相关文章

创建二维数组(一维长度3,二维长度6),值为一维数组和二维数组索引值的积,

<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>二维数组</title><script type="text/javascript">var myarr = new Array(); for (var i = 1

C++ 二维数组(双重指针作为函数参数)

本文的学习内容参考:http://blog.csdn.net/yunyun1886358/article/details/5659851 http://blog.csdn.net/xudongdong99/article/details/6723163 1.使用二维数组作为形参的例子: void func(int arr[][10]) { } int main() { int array[10][10]; func(array); //用二维数组名作为实参,调用函数 } 上面的例子可以编译通过,

php打乱数组二维数组、多维数组

//这个是针对二维数组的!下面针对多维数组的乱序方法<?php function shuffle_assoc($list) { if (!is_array($list)) return $list; $keys = array_keys($list); shuffle($keys); $random = array(); foreach ($keys as $key) $random[$key] = $list[$key]; return $random; } ?> //以下函数也是出自php

练习-二维数组旋转

#slist = [[i for i in range(4)] for l in range(8)] # slist = [ # [4, 5, 2, 7], # [8, 7, 4, 2], # [1, 9, 7, 3], # [0, 4, 5, 6], # ] # 4*4 slist = [ [4, 5, 2, 7], [8, 7, 4, 2], [1, 9, 7, 3], [0, 4, 5, 6], [1, 9, 7, 3], ] # 4*5 # slist = [ # [1, 0, 1, 8

参数 存在二维数组

声明函数如下void function(int** p),意图是想参数传递一个二维数组.于是就定义了一个二维数组,比如 int a[1][1],然后调用函数.结果如何?当然是失败了,编译器提示:cannot convert parameter 1 from 'int [1][1]' to 'int **',参数类型不匹配.上述过程我自己也试了,当然不匹配,类型完全不一样嘛.然后我就想了:如果要将一个二维数组作为形参,那么函数该怎么声明? 简单点 数组名作为形参 void func1(int Ar

指针、函数、二维数组之间的联系

1.传递数组指针 1 #include <stdio.h> 2 void output( int (*pa)[3], int n )//这个函数只能输出n行3列的二维数组 3 { 4 int i,j; 5 for( i=0;i<n;i++ ){ 6 for( j=0;j<3;j++ ) 7 printf("%d ", pa[i][j] ); 8 printf("\n"); 9 } 10 } 11 void main() 12 { 13 int

C语言如何动态分配二维数组

C语言如何动态分配二维数组 使用malloc().free()函数进行动态分配,这两个函数包含于stdlib.h或malloc.h中 假如要申请一个3行5列的二维数组内存 1 #include <stdlib.h> 2 int main() 3 { 4 // 为二维数组分配3行 5 int **a = (int **)malloc(3 * sizeof(int *)); 6 // 为每行分配5列 7 for(int i = 0; i < 3; i++) 8 { 9 a[i] = (int

二维数组与双重指针(转)

原文地址:https://blog.csdn.net/u013684730/article/details/46565577 一.简介 1.二维数组 int array[10][10];    函数声明: void fun(int a[][10])    函数调用:fun(array);   访问: 一般使用a[i][j]来访问数组中的元素 2.指针数组 int *array[10];    函数声明:void fun(int *a[10]);    函数调用:fun(array);    访问

计算机二级-C语言-对二维数组数据进行处理。对文件进行数据输入。形参与实参。

//函数fun的功能为:计算x所指数组中N个数的平均值(规定所有数都为正数),平均值通过形参返回给主函数,将小于平均值且最接近平均值的数作为函数值返回,并输出. //重难点:形参与实参之间,是否进行了值传递. 1 #include <stdlib.h> 2 #include <stdio.h> 3 #define N 10 4 double fun(double x[],double *av) 5 { int i,j; double d,s; 6 s=0; 7 for(i=0; i