欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数组的定义与遍历

程序员文章站 2022-03-24 09:32:36
...

1. 数组的概念

数组是一个能在单个变量中存储多个值的特殊变量。

2. 数组的类型

2.1 索引数组:位置敏感,访问严重依赖元素在数组中的位置

  1. //索引数组的元素的索引,默认从0开始递增
  2. $goods=['A1009','!0002','Air',12345];
  3. printf('<pre>%s</pre>',print_r($goods,true));
  4. //按索引访问
  5. echo $goods[3];

2.2 关联数组,键的类型是字符串,应该有语义化的

  1. $goods=['id'=>'A1009','name'=>'!0002','model'=>'Air','price'=>12442];
  2. //关联数组的元素访问与元素在数组中的位置无关,只与它的键名相关
  3. echo $goods['id'];

2.3 多维数组:是包含一个或多个数组的数组(用的最多的是二维,因为数据表解析出来的内容就是用二维表表示的)

  1. $users=[
  2. 0=>['id'=>'123','name'=>'njk','age'=>24],
  3. 1=>['id'=>'124','name'=>'你哈','age'=>25],
  4. 2=>['id'=>'125','name'=>'dsd','age'=>26]
  5. ];
  6. printf('<pre>%s</pre>',print_r($users,true));
  7. echo $users[2]['name'];

3. 数组遍历

3.1 使用数组指针,逐个遍历

  1. $stu=['id'=>'1020','name'=>'乐子','age'=>23,'course'=>'php','grade'=>68];
  2. // current():获取指针当前位置的数组元素的值value
  3. //key():获取指针当前位置的数组元素的键key
  4. printf('[%s]=>%s',key($stu),current($stu));

3.2 用循环来实现遍历

  1. $stu=['id'=>'1020','name'=>'乐子','age'=>23,'course'=>'php','grade'=>68];
  2. while(true){ printf('[\'%s\']=>%s<br>',key($stu),current($stu)); if(next($stu)) continue;
  3. else break;
  4. }
  5. $arr=['a',100,40,'php'];
  6. for($i=0;$i<count($arr);$i++){
  7. echo $arr[$i],'<br>';
  8. }
  9. for循环也可以遍历关联数组,但很少用
  10. reset($stu);
  11. for($i=0;$i<count($stu);$i++){
  12. printf('[\'%s\']=>%s<br>',key($stu),current($stu));
  13. next($stu);
  14. }

3.3 foreach遍历

  1. $users=[];
  2. $users[]=['id'=>'101','name'=>'玉帝','age'=>88];
  3. $users[]=['id'=>'102','name'=>'王母','age'=>78];
  4. $users[]=['id'=>'103','name'=>'如来','age'=>70];
  5. foreach ($users as $us) {
  6. printf('id=%s,name=%s,age=%s',$us['id'],$us['name'],$us['age']);
  7. }