PHP数组函数再学习

Wesley13
• 阅读 652

将数组$arr分割为n个数组,并存放到一个二维数组中 返回值 二维数组 第三个参数表示 是否保留原来的下标

$arr = array(
    "key1" => "value1",
    "key2" => "value2",
    "key3" => "value3",
    "key4" => "value4",
);
array_chunk($arr,2,true);
array_count_values($arr)    统计$arr中值出现的次数

// select count(user) from  t  group by user; 同意义

###取数组差/交集

array_diff($arr1,$arr2,$arr3...)  //(只比较值)  $arr1-$arr2-$arr3-...
//  ['A','B','C'] - ['C','B','D']  =>  ['A']
array_diff_assoc   //比较下标和值

array_diff_key  //比较key(下标)
array_diff_ukey($arr1,$arr2,$arr3...,function)
array_diff_uassoc($arr1,$arr2,$arr3...,function)


//有=>  array_udiff系列为带索引       求差集
//有=>  array_uintersect()系列为     求交集
//有=>  array_intersect()系列为带索引 求交集

###一般内容操作

用给定的值填充数组。 给$arr指定下标起给定值 并且追加数量N个 $arr=array_fill(start,num,value);

print_r($arr1=array_fill(5,3,"ss"));

用值将数组填补到指定长度 相当于对数组的初始化 长度为num ,加入数组已经有值存在 追加长度到 num

array_pad($arr,num,value);   

在数组中搜索给定的值,如果成功则返回相应的键名。

array_search(value,$arr,strict)   指定strict(true,false) 则检验数据类型

array_sum($arr)    计算数组中所有值的和。
array_product($arr)  计算数组的值的乘积
array_rand($arr)      取数组随即值
array_reverse($arr)   反转数组
array_shift($arr)     删除数组的第一个元素  返回他的值
array_slice($arr,offset,length,preserve)  由offset截取长度为length的长度的值 指定preserve保留下标
array_splice($arr,offset,length,$arr1)    在$arr中由offset截取长度为length的长度的值 由 arr1替代

函数从数组中把变量导入到当前的符号表中

extract(array,extract_rules,prefix)

$a = 'Original';
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");
extract($my_array);
echo "\$a = $a; \$b = $b; \$c = $c";
输出:
$a = Cat; $b = Dog; $c = Horse

检测内容是否存在

in_array(value,array,[type])

###回调系列 在func函数中对$arr数组元素进行遍历 并返回相应想要的 (筛选数组) func返回的值是BOOLEAN

array_filter($arr,func);  

将回调函数作用到给定数组的单元上 func返回的string替代了原来的值 返回值是一个数组

array_map(func,$arr1,$arr2,$arr3......);

用回调函数迭代地将数组简化为单一的值 将数组按照func中的方法进行加工 返回字符串,加入指定了inital第一个连接符为inital ,结果是将所有节返回值进行拼接

array_reduce($arr,func,inital) 

array_walk(array,function,userdata...) function有3个参数,前2个是必写,$key,$value,第三个是可选。

function myfunction($value,$key) 
{
echo "The key $key has the value $value<br />";
}
$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");
array_walk($a,"myfunction");


//array_walk_recursive 递归调用

还有排序系列 就不看了。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
3年前
Java开发者容易犯的十个错误
!(https://oscimg.oschina.net/oscnet/c9f00cc918684fbe8a865119d104090b.gif)Top1.数组转换为数组列表将数组转换为数组列表,开发者经常会这样做:\java\List<StringlistArrays.asList(arr);Arr
Stella981 Stella981
3年前
JS 对象数组Array 根据对象object key的值排序sort,很风骚哦
有个js对象数组varary\{id:1,name:"b"},{id:2,name:"b"}\需求是根据name或者id的值来排序,这里有个风骚的函数函数定义:function keysrt(key,desc) {  return function(a,b){    return desc ? ~~(ak
Wesley13 Wesley13
3年前
PHP二维数组按某个键值排序
二维数组:$arrarray('name''小坏龙','age'28),array('name''小坏龙2','age'14),arr
Wesley13 Wesley13
3年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Stella981 Stella981
3年前
LeetCode 5561. 获取生成数组中的最大值
文章目录1\.题目2\.解题1\.题目给你一个整数n。按下述规则生成一个长度为n1的数组nums:nums00nums11当2<2i<n时,nums2inumsi
Wesley13 Wesley13
3年前
ES6 新增的数组的方法
给定一个数组letlist\//wu:武力zhi:智力{id:1,name:'张飞',wu:97,zhi:10},{id:2,name:'诸葛亮',wu:55,zhi:99},{id:3,name:'赵云',wu:97,zhi:66},{id:4,na
达里尔 达里尔
1年前
给数组添加新数据,判断数据是否重复
多选要进行数组拼接,希望判断往原数组里添的新数据是否重复,封装个简易方法languageconstdataArrayname:'aaa',id:1,name:'bbb',id:2;constnewDataname:'ccc',id:2;//要添加的新数