php 实用函数
第一次随笔,写一些自己工作当中比较实用的函数吧。
数组函数:
1 array_column --返回数组当中指定的一列
用法一:返回数组当中指定的一列
应用场景:取出全班同学的id,去其他表查询这些同学的其他信息
好处:减少查询数据库的次数(通过id一次性查出所有信息)
列子:
<?php
$records = array(
array(
'id' => 2135,
'first_name' => 'John',
'last_name' => 'Doe',
),
array(
'id' => 3245,
'first_name' => 'Sally',
'last_name' => 'Smith',
)
);
$first_names = array_column($records, 'id');
print_r($first_names);
//结果
array('2135','3245');
?>
用法二:用二维数组当中的id作为数组的key
应用场景:通过array['id']取出数据
好处:用array_column代替foreach将二维数组当中的id作为数组的key,代码简洁,调用系统函数提高效率
列子:
<?php
$records = array(
array(
'id' => 2135,
'first_name' => 'John',
'last_name' => 'Doe',
),
array(
'id' => 3245,
'first_name' => 'Sally',
'last_name' => 'Smith',
)
);
//使用foreach
$records_key = array();
foreach($records as $k => $v){
$records_key[$v['id']] = $v;
}
print_r($first_names);
//调用array_column
$records_key = array_column($records, NULL,'id');
print_r($first_names);
?>
//结果
Array(
[2135] => Array(
[id] => 2135
[first_name] => John
[last_name] => Doe
)
[3245] => Array(
[id] => 3245
[first_name] => Sally
[last_name] => Smith
)
)
2 array_multisort --对多个数组或多维数组排序
用法一:多维数组排序
应用场景:将数据根据 价格 降序排序,根据 销量 升序排序
好处:
列子:
<?php
$data[] = array('price' => 67, 'sale_num' => 2);
$data[] = array('price' => 86, 'sale_num' => 1);
$data[] = array('price' => 85, 'sale_num' => 6);
$data[] = array('price' => 98, 'sale_num' => 2);
$data[] = array('price' => 86, 'sale_num' => 6);
$data[] = array('price' => 67, 'sale_num' => 7);
// 取得列的列表
$price= array_column($data,'price');
$sale_num= array_column($data,'sale_num');
// 把 $data 做为最后一个参数,以通用键排序
array_multisort($price, SORT_DESC, $sale_num, SORT_ASC, $data);
?>
//结果
price | sale_num
-------+--------
98 | 2
86 | 1
86 | 6
85 | 6
67 | 2
67 | 7
未完待续!
php 实用函数的更多相关文章
- 你真的会玩SQL吗?实用函数方法汇总
你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...
- 转:Delphi 6 实用函数
来自: daocaoren0824, 时间: -- ::, ID: 再给你一份 程序员实用函数 {▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎} {▎ ▎} {▎ 大 ...
- 你真的会玩SQL吗?实用函数方汇总
http://www.cnblogs.com/zhangs1986/p/4917800.html 实用函数方法 由于有些知识很少被用到,但真需要用时却忘记了又焦头烂额的到处找. 现在将这些‘冷门“却有 ...
- 分享PHP中的10个实用函数
分享PHP中的10个实用函数 PHP的功能越来越强大,里面有着非常丰富的内置函数.资深的PHP程序员对它们可能都很熟悉,但很多参加PHP培训的PHP初学者,仍然对一些非常有用的函数不太熟悉.这篇文章里 ...
- ORACLE实用函数之一 ratio_to_report的简单使用
应用场景: 查询学生成绩级别(ABCDE)个人数和所占百分比(案列简单,勿喷). 表结构: create or replace table stu_grade( id varchar2(36), le ...
- jQuery碎语(4) 实用函数
6.实用函数 ● 修剪字符串 $('#id').val($.trim($('#someid').val())) ● 遍历集合 可能这样写: var anArray = ['one','two']; f ...
- python数据类型及有关的实用函数
本系列例子使用python3.x, 编辑时间:2019-09-03,23:03:36 python以“对象引用”来存储数据,以对象来表达数据,每个对象都具有身份,对象和值. 实用函数: id(): 查 ...
- MinkowskiEngine实用函数和类
MinkowskiEngine实用函数和类 sparse_quantize MinkowskiEngine.utils.sparse_quantize(coords, feats=None, labe ...
- MATLAB 实用函数
MATLAB个人工具箱(MATLAB) mymail.m 可以利用MATLAB发送邮件(支持附件和群发),非常实用的函数,适用于:耗时很长的脚本完成后通知作者:外加定时器后用于信息推送:家庭监视器紧急 ...
随机推荐
- 【最大流】ECNA 2015 F Transportation Delegation (Codeforces GYM 100825)
题目链接: http://codeforces.com/gym/100825 题目大意: N(N<=600)个点,每个点有个名字Si,R(R<=200)个生产商在R个点上,F(F<= ...
- 高效算法——G - 贪心
G - 贪心 Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit Status Desc ...
- Trident-MySQL
使用事物TridentTopology 持久化数据到MySQL 1.构建拓扑JDBCTopology类 package storm.trident.mysql; import java.util.Ar ...
- css分割线 文字居中的7种实现方式
最近开始研究前端,会不定期更新一些小块代码,写下自己的学习笔记,也希望能和大家一起进步! 1.单个标签实现分隔线: <html> <head lang="en"& ...
- html打印表格每页都有的表头和打印分页
本文转载:http://www.cnblogs.com/RitchieChen/archive/2008/07/30/1256829.html 在做项目的时候碰到的.用户要求,页面呈现太长时,打印的时 ...
- 在安装twincat plc时,出现 there are some files marked for deletion on next reboot.please reboot first then
在注冊表内"HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\ "中删除注冊表值 " ...
- 文字保护纱-Material Design
Ok,关于这个Material Design 都快被说烂了,他被开发者越来越熟悉的程度,却与市场上的单薄身影形成了鲜明的对比,以至于每当我提及Material Design时就像祥林嫂附身一样. 有些 ...
- Python学习之四【变量】
变量:用于引用(绑定)对象的标识符 语法: >>变量名=对象 (数值,表达式等) 如计算圆的面积 PI=3.14 redius:12.3 area=PI*radius**2(**在pyth ...
- [转] __thread关键字
http://blog.csdn.net/liuxuejiang158blog/article/details/14100897 __thread是GCC内置的线程局部存储设施,存取效率可以和全局变量 ...
- Android常用功能代码块(转)
1.设置activity无标题,全屏 // 设置为无标题栏 requestWindowFeature(Window.FEATURE_NO_TITLE); // 设置为全屏模式 getWindow(). ...