php学习五:数组操作
前言:由于之前接触过js,所以在学习php的时候,里面继承了js的许多方法,所以数组里面的许多操作和js很相似,但是却比js里面多的多,个人感觉php是集成数组方法最多的一个
,今天学习的有二十余个,如果有错误的或者疏忽的希望大神以及园友们指出来,相互交流,相互学习,一起进步。
这个博客的代码是我在一个demo里面写的,可能用到的数组在上面,但是也不复杂,就用了几个数组。废话不多说,开扯:
1. array_values()返回数组中的所有值
$array = array("name" => "zhangsan","age" => "10","age" => "10","sex" => "man");
$item1 = array_values($array);
print_r($item1);
2. array_keys()返回数组中的所有值
$item2 = array_keys($array); print_r($item2);
3.in_array 检查数组中是否存在某个值,返回布尔类型,地上那个值为是否是同一类型.
$item3 = in_array("10",$array,true);
print_r($item3);
4.array_flip — 交换数组中的键和值
$item4 = array_flip($array); print_r($item4);
5.count — 计算数组中的单元数目或对象中的属性个数
$item5 = count($array); print_r($item5);
6.array_count_values — 统计数组中所有的值出现的次数
$item6 = array_count_values($array); print_r($item6);
7.array_unique — 移除数组中重复的值
$item7 = array_unique($array); print_r($item7);
8.array_reverse — 返回一个单元顺序相反的新数组,第二个值为键是否翻转,
不会改变原有的数组,只对索引数组有效
$array1 = array(1,2,3,4,5); $item8 = array_reverse($array1,true);
9.array_filter — 用回调函数过滤数组中的单元
会将值传递到回调函数中去,返回true,则函数的值会被调用
function filter($value){
if($value>3){
return true;
}
};
$item9 = array_filter($array1,"filter");
print_r($item9);
10.array_walk — 使用用户自定义函数对数组中的每个元素做回调处理
返回布尔类型(执行成功或者失败)
function walk($value){
if($value>3){
echo $value." ";
}
};
$item10 = array_walk($array1,"walk");
11.array_map — 为数组的每个元素应用回调函数
回调函数在前,数组在后
function map($value){
return $value*$value;
};
$item11 = array_map("map",$array1);
print_r($item11);
12.sort — 对数组排序(升序),会改变之前数组
sort($array1); print_r($array1);
13.rsort — 对数组排序(降序),会改变之前数组
rsort($array1); print_r($array1);
14.array_slice — 从数组中取出一段,返回截取的数值
(函数名称,起始索引,长度,是否保留索引)
$item14 = array_slice($array1,1,2,true); print_r($item14);
15.array_splice — 把数组中的一部分去掉并用其它值取代
返回删除的内容,原数组改变
$item15 = array_splice($array1,1,2,"房明"); print_r($item15); print_r($array1);
16.array_combine — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
两个数组的值的个数必须是一样的
$array2 = array("name","age","sex");
$array3 = array("房明","18","男");
$item16 = array_combine($array2,$array3);
print_r($item16);
17.array_merge — 合并一个或多个数组
$item17 = array_merge($array2,$array3); print_r($item17);
18.array_intersect — 计算数组的交集
$array4 = array(1,2,3,4); $array5 = array(3,4,5,6); $item18 = array_intersect($array4,$array5); print_r($item18);
19.array_diff — 计算数组的差集
返回的是第一个数组当中与第二个数组当中不同的数值,不会返回第二个数组中的值
$item19 = array_diff($array5,$array4); print_r($item19);
20.array_pop — 将数组最后一个单元弹出(出栈)
返回被删除的值,改变原来的数组
$item20 = array_pop($array4); print_r($item20); print_r($array4);
21.array_push — 将一个或多个单元压入数组的末尾(入栈)
返回添加的值,改变原来的数组,(数组名称,添加数值)
$item21 = array_push($array4,"5"); print_r($item21); print_r($array4);
22.array_shift — 将数组开头的单元移出数组
返回被删除的值,改变原来的数组
$item22 = array_shift($array4); print_r($item22); print_r($array4);
23.array_unshift — 在数组开头插入一个或多个单元
返回添加的值,改变原来的数组,(数组名称,添加数值)
$item23 = array_unshift($array4,"10"); print_r($item23); print_r($array4);
24.array_rand — 从数组中随机取出一个或多个单元
$item24 = array_rand($array4); print_r($item24);
25.shuffle — 将数组打乱,会改变之前的数组
$item25 = shuffle($array4); print_r($array4);
php学习五:数组操作的更多相关文章
- 【php学习】数组操作
1.json字符串和数组之间的转换 json_decode($jsonStr) json字符串解码为php变量,若第二个参数默认为false,返回一个对象:若第二个参数设置true,则返回一 ...
- Javascript入门(五)数组操作、循环语句
一.数组与数组操作 <script type="text/javascript"> //数组定义方式 var list1 = new Array(1,2,3); var ...
- [jQuery学习系列二 ]2-JQuery学习二-数组操作
前言 上一篇内容 已经对于Jquery 有了一些认识, 包括Jquery的选择器和DOM对象, 那么这一篇继续来看下Jquery中很实用的Jquery对于数组的操作. Jquery中对数组的操作大致有 ...
- jquery 学习(五) - CSS 操作
HTML + CSS 样式 /*CSS样式*/<style> body{ margin: 0; } div{ width: 100%; height: 2000px; background ...
- 前端深入之js篇丨Array数组操作从入门到成神Up Up Up,持续更新中
写在前面 随着前端深入的不断学习,发现数组这个数据结构在前端中有着相当大的存在感,由于我初学前端的时候并没有系统性的学习数组,所以我将通过这篇文章同你一起学习数组,希望我们能一起进步,学会熟练操作数组 ...
- RX学习笔记:JavaScript数组操作
RX学习笔记:JavaScript数组操作 2016-07-03 增删元素 unshift() 在数组开关添加元素 array.unshift("value"); array.un ...
- Scala学习(三)----数组相关操作
数组相关操作 摘要: 本篇主要学习如何在Scala中操作数组.Java和C++程序员通常会选用数组或近似的结构(比如数组列表或向量)来收集一组元素.在Scala中,我们的选择更多,不过现在我们先假定不 ...
- python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...
- matlab学习笔记11_1低维数组操作
一起来学matlab-matlab学习笔记11 11_1 低维数组操作repmat函数,cat函数,diag函数 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab ...
- Halcon学习(三)赋值与数组操作
assign : 对数据赋值,对数组的初始化.但不能对数组中的某一个值进行赋值. 举例:Tuple1 := [1,0,3,4,5,6,7,8,9] // 对数组进行初始化 Val := sin( ...
随机推荐
- Java并发(二)多线程的好处
即使编写多线程程序具有挑战性,但它仍在使用中,是因为它可以带来如下的好处: 更好的资源利用 在某些场景下程序的设计会更简单 提升程序的响应性 更好的资源利用 假设一个应用会从本地文件系统中读取和处理文 ...
- 用JS的正则表达式如何判断输入框内为中文或者是英文
1.只能输入数字和英文的: <input onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clip ...
- JavaScrip——简单练习(抓错误信息,for循环,日期)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Java NIO使用及原理分析(三)(转)
在上一篇文章中介绍了缓冲区内部对于状态变化的跟踪机制,而对于NIO中缓冲区来说,还有很多的内容值的学习,如缓冲区的分片与数据共享,只读缓冲区等.在本文中我们来看一下缓冲区一些更细节的内容. 缓冲区的分 ...
- redis4安装
第一步官网下载 https://redis.io/ rz 上传或者直接wget http://download.redis.io/releases/redis-4.0.2.tar.gz 2.将其下 ...
- 批量改名的多种方法stu_3_finished.jpg 去掉finished,stu_{1..20}_finished.jpg
方法一:rename修改文件名 rename "finished" "" *.jpg [root@ob1 scripts]# rename "fini ...
- Entity Framework管理实体关系(一):管理一对一关系
我们现在已经知道如何使用Code First来定义简单的领域类,并且如何使用DbContext类来执行数据库操作.现在我们来看下数据库理论中的多样性关系,我们会使用Code First来实现下面的几种 ...
- WordCount示例深度学习MapReduce过程
转自: http://blog.csdn.net/yczws1/article/details/21794873 . 我们都安装完Hadoop之后,按照一些案例先要跑一个WourdCount程序,来测 ...
- Hive SQL执行流程分析
转自 http://www.tuicool.com/articles/qyUzQj 最近在研究Impala,还是先回顾下Hive的SQL执行流程吧. Hive有三种用户接口: cli (Command ...
- rar安装和使用
参考:http://blog.csdn.net/dracotianlong/article/details/18011033 .下载rar wget http://www.rarlab.com/rar ...