数组定义
$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 数组(遍历)的更多相关文章

  1. 转→js数组遍历 千万不要使用for...in...

    看到一篇内容还不错,但是排版实在糟糕, 逼死强迫症患者啊,直接拉下去找原文连接,找到了,但是已经消失了···500错误... 第一次因为实在看不下去一篇博客的排版, 为了排版而转载... 转载地址:h ...

  2. (转)深入理解PHP之数组(遍历顺序)

    深入理解PHP之数组(遍历顺序)(转) http://www.laruence.com/2009/08/23/1065.html (鸟哥) 经常会有人问我, PHP的数组, 如果用foreach来访问 ...

  3. JS几种数组遍历方式以及性能分析对比

    前言 这一篇与上一篇 JS几种变量交换方式以及性能分析对比 属于同一个系列,本文继续分析JS中几种常用的数组遍历方式以及各自的性能对比 起由 在上一次分析了JS几种常用变量交换方式以及各自性能后,觉得 ...

  4. C# for和 foreach 的数组遍历 比较

    刚学习程序,感觉写代码 很有意思,所以把自己的感悟写下来啦,第一次写博客,可能是菜鸟中的菜鸟  时间久了,相信就会写的很好哦! for和 foreach 的数组遍历 比较 很简单的程序,不解释啦! u ...

  5. JS之对象数组遍历?

    一.js实现遍历对象 <script> ","destroy":"97%"}; var props = ""; for ...

  6. Object-c学习之路八(NSArray(数组)遍历和排序)

    今天学习了NSArray的遍历和排序,现在在这里做一下总结: 遍历现在实现了四中方法: 排序大概有三中方法:(代码中都有注释) 关于对象的排序还是以Student和Book为例 每个Student持有 ...

  7. js数组遍历和对象遍历

    针对js各种遍历作一个总结分析,从类型用处:分数组遍历和对象遍历:还有性能,优缺点等. JS数组遍历: 1,普通for循环,经常用的数组遍历 var arr = [1,2,0,3,9]; for ( ...

  8. java 多维数组遍历

    java 多维数组遍历的顺序的性能问题 ps:下图为java多维数组内存分布原理.出自:http://math.hws.edu/javanotes/c7/two-dimensional-array.p ...

  9. 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.数组插入.删除 ...

  10. ES6 数组遍历方法的实战用法总结(forEach,every,some,map,filter,reduce,reduceRight,indexOf,lastIndexOf)

    目录 forEach every some map filter reduce && reduceRight indexOf lastIndexOf 前言 ES6原生语法中提供了非常多 ...

随机推荐

  1. 调用天气Api实现天气查询

    上面是简单截图: 前台代码: @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name=&qu ...

  2. JavaScript变量的作用域和函数的作用域的区别

    变量作用域和函数作用域都涉及到变量值的变化,本文旨在让大家明白他们之间的区别 变量的作用域: 变量的作用域无非就是两种:全局变量和局部变量. Javascript语言的特殊之处,就在于函数内部可以直接 ...

  3. redis入门配置

    简介: Redis是Nosql中比较出名的,分布式数据库缓存,提升相应的速度,降低对数据库的访问! Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,(永久 ...

  4. Android新旧版本Notification

    Android新旧版本Notification 在notification.setLatestEventInfo() 过时了 以前: NotificationManager mn = (Notific ...

  5. 单链表C/C++实现

    #include <iostream> using namespace std; const int N = 10; typedef int ELEMTYPE; typedef struc ...

  6. Nginx 的编译安装和URL地址重写

    本文转自:http://www.178linux.com/14119#rd?sukey=ecafc0a7cc4a741b573a095a3eb78af6b4c9116b74d0bbc9844d8fc5 ...

  7. Android判断当前系统时间是否在指定时间的范围内(免消息打扰)

    /** * 判断当前系统时间是否在指定时间的范围内 * * @param beginHour * 开始小时,例如22 * @param beginMin * 开始小时的分钟数,例如30 * @para ...

  8. Kernel Methods (6) The Representer Theorem

    The Representer Theorem, 表示定理. 给定: 非空样本空间: \(\chi\) \(m\)个样本:\(\{(x_1, y_1), \dots, (x_m, y_m)\}, x_ ...

  9. 使用express4.X + jade + mongoose + underscore搭建个人电影网站

    (-。-;), 周末过得真是快啊,  很久以前就看到imooc上有个搭建个人电影网站一期 ,二期的视频, 这两周宅家里撸玩没事干, 我也学着搭了一个, 这些东西都是基础, 只要花点时间很好学的, no ...

  10. 谈谈MVC项目中的缓存功能设计的相关问题

    本文收集一些关于项目中为什么需要使用缓存功能,以及怎么使用等,在实际开发中对缓存的设计的考虑 为什么需要讨论缓存呢? 缓存是一个中大型系统所必须考虑的问题.为了避免每次请求都去访问后台的资源(例如数据 ...