使用php函数array_multisort()即可实现和SQL一样的order by排序. 例如我们需要对会员表按照主键降序排列,年龄升序排列:
//会员表数据 $list = []; $list[] = ['mid' => 5, 'name' => 'zhang', 'age' => 14]; $list[] = ['mid' => 7, 'name' => 'li', 'age' => 22]; $list[] = ['mid' => 9, 'name' => 'wang', 'age' => 29]; $list[] = ['mid' => 1, 'name' => 'gao', 'age' => 23]; //先取出mid和age foreach ($list as $key => $value) { $mids[$key] = $value['mid']; $ages[$key] = $value['age']; } //按照mid降序,age升序排列 array_multisort($mids,SORT_DESC,$ages,SORT_ASC,$list); var_dump($list);
输出结果:
array(4) { [0]=> array(3) { ["mid"]=> int(9) ["name"]=> string(4) "wang" ["age"]=> int(29) } [1]=> array(3) { ["mid"]=> int(7) ["name"]=> string(2) "li" ["age"]=> int(22) } [2]=> array(3) { ["mid"]=> int(5) ["name"]=> string(5) "zhang" ["age"]=> int(14) } [3]=> array(3) { ["mid"]=> int(1) ["name"]=> string(3) "gao" ["age"]=> int(23) } }
在PHP中,大部分变量类型,如字符串,整型,浮点,数组等都是值类型的,而类和对象是引用类型.和其他语言有点差距.(1).在值类型中我们直接使用&符号表示指向对应变量的内存地址,当前变量和被指向的变量只要有1个的值被修改都会直接影响另外一个变量的值发生变化。(ps:还是非常节省内存的,可以使用...
通过http推送消息给socket,socket服务再向客户端推送<?php /* * Socket推送 * 请用守护进程方式启动php msgservice.php & (socket只...
<?php //php7+ define('CONFIG', [ 'MYSQL' => '127.0.0.1',  ...
在使用ftok生成ipc进程通信key尝试将第二个参数项目标识符传入字符串报错:PHP Warning: ftok(): Project identifier is invalid,查阅资料发现第二个字符串只能是1个字符串,长度为1....
最近在编写windows php多线程的东西,从官网下载了PHP的线程安全版,尝试开启curl扩展extension=php_curl.dllphp -m 却提示 PHP Startup: Unable to load dynamic library 'C:\php\ext\php_curl...
为什么使用队列?因为pop取队列具有原子性。假如我们需要秒杀一个商品id,我们先将商品的库存保存到一个队列。例如:<?php $redis = new Redis(); $redis->connect('127.0.0.1', 6...