一、定义数组

(1)索引数组

$arr=array(1,2,3,3);

(2)关联数组  类似于集合

$arr1=array("one"=>"111","two"=>"222");

(3)赋值定义数组:

$arr2["one"]="aaaa";

注:

强类型语言数组的三个特点:

1、  数组里面只能存储同类型数据

2、  数组的长度固定

3、  在内存里是连续的

Php属于弱类型语言

二、数组操作

1、数组取值

(1)var_dump($arr1);

(2)$arr1["two"];

2、删除元素

unset($arr[0]);

3、添加元素

$arr2[key]=value;

4、追加元素(在最后一个数组后面添加)

(1)$arr2[]=1;

(2)array_push($arr,12);

三、遍历数组 (第二种重要)

1、for循环 只能遍历索引数组

$arr=array(1,2,3,3);

for ($i=0;$i<count($arr);$i++){

echo $arr[$i]."<br />";

}

$arr1=array("one"=>"111","two"=>"222");

2、foreach循环  第一次循环把1交给v,第二次把2交给v  可以遍历索引和关联数组

/*$arr=array(1,2,3,3);

foreach($arr as $v)

{

echo $v."<br />";

}

foreach($arr as $k=>$v)

{

echo $k."----".$v."<br />";

}

注:

(1)强类型语言   foreach(int i in arr) {}

(2)js     for (var a in arr){} a取出的是key

3、list()函数和each()函数结合遍历

(1)$arr=array(1,2,3,3);

var_dump(each($arr));

取出当前指针指向的元素,返回新的数组(该数组包含key和value,,将指针向后移一个)

(2)list($a,$b,$c,$d)=$arr;  //将右侧数组的元素交给一组变量

echo $c;

$arr=array(1,2,3,3);

while (list($k,$v)=each($arr)){

echo "{$k}={$v}<br />";

}

4、指针遍历

next($arr); //将指针向后挑一个

prev($arr);  //将指针向前挑一个

reset($arr);//重置指针

end($arr);//将指针达到最后一个

echo current($arr); //取当前指针指向的元素的值

echo key($arr) //取当前指针指向的元素的//索引

do

{current($arr)      // 先执行循环体后走条件

}

while{next($arr)

}

注:  while循环:先走条件后走循环体  while循环无法输出第一个数,所以此处不用while循环

Eg:

while (list($k,$v)=each($arr)){

echo "{$k}={$v}<br />";

}

reset($arr);  //  不加这个输出5个,不然10个

while (list($k,$v)=each($arr)){

echo "{$k}={$v}<br />";

}

四、五如下:

最新文章

  1. iOS Swift-元组tuples(The Swift Programming Language)
  2. JavaScript 面向对象(一) —— 基础篇
  3. 百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换(JS版代码)
  4. postfix启动脚本
  5. 工具第二天 cocoaPods 私有库的创建
  6. android studio小技巧
  7. 21.C#序列过虑、排序、let子句和连接(十一章11.3-11.5)
  8. HTML5 基础
  9. Android Activity和intent
  10. Hadoop权威指南:通过FileSystem API读取数据
  11. 三、使用vscode在docker中debug
  12. google chrome 浏览器去掉 XHR finished loading....
  13. 电脑开机出现intel UNDI,PXE-2.1(build 003),是怎么回事?
  14. 【转】让浏览器格式化显示JSON数据之chrome jsonView插件安装
  15. 为什么一个java源文件中只能有一个public类
  16. Math.min() / Math.max() 使用方法
  17. win10 标注工具LabelImg 安装使用
  18. Swing获取字符串的宽度和高度
  19. 【算法笔记】B1053 住房空置率
  20. mysql innodb myisam 比较

热门文章

  1. Android中使用Handler以及CountDownTimer实现包含倒计时的闪屏页面
  2. Hibernate框架双向多对多关联映射关系
  3. AIO75产品特征与优势
  4. 双系统win7和ubuntu14.04进入了grub rescue&gt;
  5. Flume-ng源码解析之Channel组件
  6. wemall app商城源码android开发MD5加密工具类
  7. 3097: Hash Killer I
  8. UINavigationBar统一修改导航条样式
  9. MyEclipse10的正确破解方法
  10. ubuntu如何进入local、bin目录