PHP 数组(遍历)
数组定义
$attr = array(); //定义一个空的数组
$attr = array(1,2,3,4); //定义一个有值的数组
$attr[0]="aa";
$attr[1]="bb";
数组分为两种
1.索引数组
$attr = array(1,2,3,4,5);
print_r($attr); //输出数组
2.关联数组
$attr = array("code"=>101,"name"=>"张三","sex"=>"男");
print_r($attr);
echo $attr["name"];
遍历数组
$attr = array("aa","bb","cc","dd");
1.for循环遍历,只能遍历索引数组
for($i=0;$i<count($attr);$i++)
{
echo $attr[$i]."<br>";
}
2.foreach遍历,关联索引都支持
foreach($attr as $v)
{
echo $v."<br>";
}
foreach($attr as $k=>$v)
{
echo $k."---".$v."<br>";
}
3.使用each()和list()结合遍历
var_dump(each($attr)); //取数组里面当前指针指向的元素
list($a,$b,$c,$d)=$attr; //写在等号左边的,将数组里面的元素交给一组变量,数组必须是索引数组
while(list($k,$v) = each($attr))
{
echo "{$k}--{$v}<br>";
}
4.使用指针遍历
current($attr); //取当前指针指向的元素的值
echo key($attr); //取当前指针指向的元素的key
next($attr); //将指针向后调一个
next($attr);
prev($attr); //将指针向前调一个
end($attr); //将指针指向最后
reset($attr); //将指针重置
echo current($attr);
while(next($attr)) //无法输出第一个元素,使用do...while循环
{
echo current($attr);
echo key($attr);
}
do
{
echo current($attr);
echo key($attr);
}
while(next($attr))
其他常用函数
foreach($attr as $k=>$v)
{
if($v==3)
{
unset($attr[$k]);//删除元素
}
}
$attr = array_values($attr); //重新索引
var_dump(in_array(9,$attr));//判断某一个值是否在数组里面存在
var_dump(array_reverse($attr));//翻转数组,创建新的数组并返回
var_dump(array_unique($attr)); //去重,删除数组中重复的值并返回新的数组
$attr1 = array(9,10);
var_dump(array_merge($attr,$attr1));//合并数组
array_push($attr,10); //添加元素到数组,返回值不是新的数组
var_dump($attr);
$attr[]=11; //添加元素到数组
PHP 数组(遍历)的更多相关文章
- 转→js数组遍历 千万不要使用for...in...
看到一篇内容还不错,但是排版实在糟糕, 逼死强迫症患者啊,直接拉下去找原文连接,找到了,但是已经消失了···500错误... 第一次因为实在看不下去一篇博客的排版, 为了排版而转载... 转载地址:h ...
- (转)深入理解PHP之数组(遍历顺序)
深入理解PHP之数组(遍历顺序)(转) http://www.laruence.com/2009/08/23/1065.html (鸟哥) 经常会有人问我, PHP的数组, 如果用foreach来访问 ...
- JS几种数组遍历方式以及性能分析对比
前言 这一篇与上一篇 JS几种变量交换方式以及性能分析对比 属于同一个系列,本文继续分析JS中几种常用的数组遍历方式以及各自的性能对比 起由 在上一次分析了JS几种常用变量交换方式以及各自性能后,觉得 ...
- C# for和 foreach 的数组遍历 比较
刚学习程序,感觉写代码 很有意思,所以把自己的感悟写下来啦,第一次写博客,可能是菜鸟中的菜鸟 时间久了,相信就会写的很好哦! for和 foreach 的数组遍历 比较 很简单的程序,不解释啦! u ...
- JS之对象数组遍历?
一.js实现遍历对象 <script> ","destroy":"97%"}; var props = ""; for ...
- Object-c学习之路八(NSArray(数组)遍历和排序)
今天学习了NSArray的遍历和排序,现在在这里做一下总结: 遍历现在实现了四中方法: 排序大概有三中方法:(代码中都有注释) 关于对象的排序还是以Student和Book为例 每个Student持有 ...
- js数组遍历和对象遍历
针对js各种遍历作一个总结分析,从类型用处:分数组遍历和对象遍历:还有性能,优缺点等. JS数组遍历: 1,普通for循环,经常用的数组遍历 var arr = [1,2,0,3,9]; for ( ...
- java 多维数组遍历
java 多维数组遍历的顺序的性能问题 ps:下图为java多维数组内存分布原理.出自:http://math.hws.edu/javanotes/c7/two-dimensional-array.p ...
- javascript 常见数组操作( 1、数组整体元素修改 2、 数组筛选 3、jquery 元素转数组 4、获取两个数组中相同部分或者不同部分 5、数组去重并倒序排序 6、数组排序 7、数组截取slice 8、数组插入、删除splice(需明确位置) 9、数组遍历 10、jQuery根据元素值删除数组元素的方)
主要内容: 1.数组整体元素修改 2. 数组筛选 3.jquery 元素转数组 4.获取两个数组中相同部分或者不同部分 5.数组去重并倒序排序 6.数组排序 7.数组截取slice 8.数组插入.删除 ...
- ES6 数组遍历方法的实战用法总结(forEach,every,some,map,filter,reduce,reduceRight,indexOf,lastIndexOf)
目录 forEach every some map filter reduce && reduceRight indexOf lastIndexOf 前言 ES6原生语法中提供了非常多 ...
随机推荐
- OSPF协议详解
CCNP OSPF协议详解 2010-02-24 20:30:22 标签:CCNP 职场 OSPF 休闲 OSPF(Open Shortest Path Fitst,ospf)开放最短路径优先协议,是 ...
- python 之禅
想要真正深入了解一门语言,需要用心去感受.下面是python之禅,python的设计哲学,对于编程很有指导意义.(翻译部分摘自网络,同时自己有一些更改) >>> import thi ...
- python基础_字典_列表_元组考试_day4
1.请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li=['alex','eric','rain'] li=['alex','eric','rain'] v="_".jo ...
- elasticsearch中如何高效的使用filter
这里有一篇很好的文章,很不错,翻译和整理了一下,英文不错的,建议直接看原文:http://euphonious-intuition.com/2013/05/all-about-elasticsearc ...
- centos中crontab(计时器)用法详解
关于crontab: crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行.该 ...
- 状态压缩 HDU 1565
多组数据 给你一个n*n的矩阵 不能相邻的取数 上下左右 求最大的和 #include<stdio.h> #include<algorithm> #include<str ...
- jquery-追加元素
一.在元素内部/外部追加元素 append,prepend:添加到子元素 before,after:作为兄弟元素添加 html: <div id="content"> ...
- unittest测试驱动之HTMLTestRunner.py
对于自动化来说,测试报告是必须的,在敏捷化的团队中,团队中的成员需要自动化这边提供自动化的测试报告,来判断系统的整体质量以及下一步的测试策略.单元测试库生成测试输出到控制台的窗口上,但是这样的结果看起 ...
- Yii2的Debug工具
yii2的Debug工具 调用 r=debug 可以对程序进行性能分析,从而对程序进行改良 (1)数据库某条sql语句的执行时间 (2)debug的profiling标签 \YII::beginP ...
- ftp,http,https有啥区别?
[ftp与http的区别?] HTTP(Hyper Text Transmission Protocol)是超文本传输协议,FTP(FileTransferProtocol)是文件传输协议! HTTP ...