- 数组内容去重
$a = [1,2,3,3,4,5,5,5,7,4];
$result = array_unique($a);
//$result = [1,2,3,4,5,7];
- 数组中是否存在某个键
if(array_key_exists('key', $array))
{
//do something
}
- 查找一个值在数组中的位置
$position = array_search($value, $array)
//一定要强等于或强不等于,因为返回index=0的时候,逻辑判断等于false
if ($position !== false)
{
//found it, do something
}
- 数组元素乱序
shuffle($array);
- 求两个数数组的并集
$union = array_unique(array_merge($a, $b));
- 求两个数组的交集
$intersection = array_intersect($a, $b);
- 求简单差集
$differece = array_diff($a, $b);
- 求对称差集
$difference = array_merge(array_diff($a, $b), array_diff($b, $a));
- 对数据库的查询结果替换字段名
$res = [
[
'phone' => '13833333333',
'nickname' => 'Bob',
'is_remember' => 1
],[
'phone' => '13866666666',
'nickname' => 'Alice',
'is_remember' => 0
]
];
$result = array_map(function($item){
return [
'account' => $item['phone'],
'nickname' => $item['nickname'],
'is_remember' => (bool)$item['is_remember']
];
}, $res)
//$result = [
// [
// 'account' => '13833333333',
// 'nickname' => 'Bob',
// 'is_remember' => 1
// ],[
// 'account' => '13866666666',
// 'nickname' => 'Alice',
// 'is_remember' => 0
// ]
//];
- 获取某一列的数据
$res = [
[
'phone' => '13833333333',
'nickname' => 'Bob',
'is_remember' => 1
],[
'phone' => '13866666666',
'nickname' => 'Alice',
'is_remember' => 0
]
];
$result = array_column($res,'phone');
//$result = ['13833333333','13866666666'];
参考:
[1] https://www.php.net/manual/zh/book.array.php
[2] PHP经典实例第三版[M]. 2015