您好,欢迎访问一九零五行业门户网

php 适用函数

php 实用函数
第一次随笔,写一些自己工作当中比较实用的函数吧。
数组函数:
1 array_column --返回数组当中指定的一列
用法一:返回数组当中指定的一列
应用场景:取出全班同学的id,去其他表查询这些同学的其他信息
好处:减少查询数据库的次数(通过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,代码简洁,调用系统函数提高效率
列子:
 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 --对多个数组或多维数组排序
用法一:多维数组排序
应用场景:将数据根据 价格 降序排序,根据 销量 升序排序
好处:
列子:
 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
未完待续!
1楼曹亮函数虽好,,但不具有普遍性,,不过平时用到的可以直接模拟此函数写一个。
其它类似信息

推荐信息