ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[toc] >[warning]注意:带&的,会改变数据的本身。因为&是引用传递,使用的是同一个内存空间 ## :-: **取key,去value** - array_keys &emsp;&emsp;&emsp;#返回数组中部分的或所有的key ## :-: **重新索引** - array_values &emsp;&emsp;#返回数组中所有的value(规整索引) - array_merge &emsp;&emsp;# 输入2参数是合并数组。输入1个参数是归整索引 ## :-: **分割,合并** - array_chunk &emsp;&emsp;#将一个一维数组,按元素个数进行切割,返回分割完的二维数组 - array_merge &emsp;&emsp;# 输入2参数是合并数组。输入1个参数是归整索引 - array_merge_recursive &emsp;&emsp;#将2个数组合并成一个数组。并不是二维数组 - extract($this->assign); &emsp;&emsp;&emsp;#将一维数组打散,将数组中的每一个key变成一个单独的变量 ## :-: **其他** - array_reverse &emsp;&emsp;#将数组倒过来输出 - shuffle &emsp;&emsp;&emsp;&emsp;&emsp;#将数组打乱 - range &emsp;&emsp;&emsp;&emsp;&emsp;#建立一个包含指定范围单元的数组 ## :-: **带回调的** - array_map &emsp;&emsp;&emsp;#将数组中的value取出,通过<span style="color:blue;">回调函数(自定义的函数)</span>,自己处理 //将三科成绩总和,从高到低排列出前10名。如果有任意一科成绩不满足80分,则不计入成绩 ![](https://box.kancloud.cn/add60015442a4f691fb5cead430e5a6b_581x324.png) - array_walk &emsp;&emsp;&emsp;&emsp;#使用<span style="color:blue;">回调函数(自定义的函数)</span>对数组中的<span style="color:blue;">每个元素</span>做回调处理 - array_filter &emsp;&emsp;&emsp;&emsp;#用<span style="color:blue;">回调函数(自定义的函数)</span>过滤数组中的单元 ![](https://box.kancloud.cn/d30a3fbcf4ff9ec6db5dfa1442b1d0ee_673x362.png) ## :-: **数组 转 字符串** - implode &emsp;&emsp;&emsp;#将一个<span style="color:blue;">一维</span>数组的值,转化为字符串 ## :-: **搜索** - array_search &emsp;&emsp;#在数组中搜索给定的value,如果成功则返回相应的key - array_slice &emsp;&emsp;&emsp;#从数组中取出一段 - key &emsp;&emsp;&emsp;&emsp;&emsp;&emsp;#从关联数组中取得键名 - in_array &emsp;&emsp;&emsp;&emsp;#检查数组中是否存在某个value - array_key_exists #检测该字符串,是否在一维数组中 ## :-: **填充** - array_fill_keys &emsp;#使用指定的键和值 填充数组 - array_pad &emsp;&emsp;&emsp;#用值将数组填补到指定长度 - list &emsp;&emsp;&emsp;&emsp;&emsp;&emsp;#把数组中的值赋给一些变量 ![](https://box.kancloud.cn/56d11fe964c7f8327502aebba4dfb173_1029x184.png) ## :-: **移除** - array_shift &emsp;&emsp;&emsp;#返回 删除数组的第一个元素 - array_unique &emsp;&emsp;#移除一维数组中重复的value - array_splice($temp, $del, 1); &emsp;&emsp;#$temp从哪个数组中删除,$del要删除哪个位置的key,删除1位。 >[warning]注意:返回的是被删除的元素,不要打印返回值。直接在下面打印$temp就是删除后的数组 ## :-: **队列** >[info]单向队列:只能从头进,从尾出 双向队列:头尾都可进入 - array_unshift &emsp;&emsp;#将一个或多个value追加到数组的开头(头<span style="color:blue;">入</span>栈) - array_shift &emsp;&emsp;&emsp;#将数组开头的单元移出数组 (头<span style="color:blue;">出</span>栈) - array_push &emsp;&emsp;&emsp;#将一个或多个value追加到数组的末尾(尾<span style="color:blue;">入</span>栈) //将$v[id]压入到$ids这个空数组中 ![](https://box.kancloud.cn/396d743ced4b03a4d90d6569f8cd44f0_936x223.png) - array_pop &emsp;&emsp;&emsp;#返回 移出数组的最后一个元素(尾<span style="color:blue;">出</span>栈) ## :-: **位置** - current &emsp;&emsp;&emsp;#返回数组中的<span style="color:blue;">当前</span>key(还有next下一个函数等...) reset() &emsp;&emsp;&emsp;#将数组的内部指针指向<span style="color:blue;">第一个</span>单元 end() &emsp;&emsp;&emsp;&emsp;#将数组的内部指针指向<span style="color:blue;">最后一个</span>单元(可以用来判断,当前的key是不是最后一个key) ![](https://box.kancloud.cn/0bbe1f85a69735693195cc1c3b4a5564_901x198.png) next() &emsp;&emsp;&emsp;#将数组中的内部指针<span style="color:blue;">向前移动一位</span> each() &emsp;&emsp;&emsp;#返回数组中当前的键/值对并将数组指针<span style="color:blue;">向前移动一步</span> prev() &emsp;&emsp;&emsp;#将数组的内部指针<span style="color:blue;">倒回一位</span> ## :-: **计算** - count &emsp;&emsp;&emsp;&emsp;#计算数组中的key或对象中属性的,总个数 - array_sum &emsp;&emsp;#计算数组中所有value的和 - array_product &emsp;#计算数组中所有值的乘积 - array_count_values &emsp;#统计数组中所有的value出现的次数 - array_diff &emsp;&emsp;&emsp;#计算数组的差集,返回数组2中没有数组1的values - array_intersect &emsp;#计算数组的交集,返回俩个数组中的共同values - array_column &emsp;&emsp;#返回多维数组或结果集中,指定的一列(指定的下标,就是多维数组取某一列的值) ## :-: **排序** - array_multisort &emsp;#对多个数组或多维数组进行排序 - asort &emsp;&emsp;&emsp;&emsp;&emsp;#对数组的value进行排序,并保持value和key的对应关系 ![](https://box.kancloud.cn/949407661931bb6af9aed2b2e8913cec_758x215.png) - arsort &emsp;&emsp;&emsp;&emsp;&emsp;#对数组进行逆向排序并保持索引关系 - krsort &emsp;&emsp;&emsp;&emsp;&emsp;#对数组按照键名逆向排序 - ksort &emsp;&emsp;&emsp;&emsp;&emsp;#对数组按照键名排序 - rsort &emsp;&emsp;&emsp;&emsp;&emsp;#对数组逆向排序 - sort &emsp;&emsp;&emsp;&emsp;&emsp;#对数组排序