登录  /  注册
博主信息
博文 12
粉丝 0
评论 0
访问量 11408
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP数组的创建和遍历----PHP九期线上班
張涛的博客
原创
884人浏览过

一、数组的创建

1.创建空数组

1)方法1.
  1. `$arr1 = array();`
2)方法2.
  1. `$arr2 = [];`

2.创建索引数组

1)创建默认索引值的索引数组
  1. `$arr3 = array(
  2. 10,11,12,'张三'
  3. );`
  4. 或者
  5. `$arr3 = [
  6. 10,11,12,'张三'
  7. ];`
2)注意:
  1. 数组的索引值是从0开始的。
  2. 创建时,每一个元素使用逗号隔开的。

3.创建关联数组

关联数组即自定义数组的元素的键。

1)关联数组的创建
  1. `$arr4 = array(
  2. 'zhangsan' => '张三',
  3. 'lisi' => '李四',
  4. 'wangwu' => '王五'
  5. );`
  6. 或者
  7. `$arr5 = [
  8. 'zhangsan' => '张三',
  9. 'lisi' => '李四',
  10. 'wangwu' => '王五',
  11. '2' => 2
  12. ];`
2)注意:
  1. a.关联数组的创建不建议使用汉字作为每一个数组中的键值对的键,可以使用数字和字母。
  2. b.关联数组中可以有默认的键。使用默认的键的数组的键值对是从0开始排列的。
  3. `$arr4 = array(
  4. 'zhangsan' => '张三', //'zhangsan'=>'张三'
  5. '李四', //0=>'李四'
  6. 'wangwu' => '王五', //'wangwu'=>'王五'
  7. '赵柳' //1=>'赵柳'
  8. );`

二、访问数组的数据

1.var_dump()方法

  1. `var_dump($arr3) ;`
  2. 输出结果:array(4) { [0]=> int(10) [1]=> int(11) [2]=> int(12) [3]=> string(6) "张三" }

2.print_r()方法

  1. `print_r($arr3);`
  2. 输出结果:Array ( [0] => 10 [1] => 11 [2] => 12 [3] => 张三 )

三、二维数组、三维数组和多维数组

1.二维数组

二维数组就是一个数组的某一个或者某几个元素是数组的形式。

1)二维数组的创建
  1. `$arr6 = [
  2. '员工1'=>
  3. [
  4. 'name' => '张三',
  5. 'age' => 19,
  6. ],
  7. [
  8. 'name' => '李四',
  9. 'age' => 20
  10. ],
  11. '员工2'=>
  12. [
  13. 'name' => '王五',
  14. 'age' => 21
  15. ],
  16. [
  17. 'name' => '赵柳',
  18. 'age' => 22
  19. ]
  20. ];
  21. $arr8 = [
  22. '员工1'=>
  23. [
  24. 'name' => '张三',
  25. 'age' => 19,
  26. ],
  27. '员工2'=>
  28. [
  29. 'name' => '李四',
  30. 'age' => 20
  31. ],
  32. '员工3'=>
  33. [
  34. 'name' => '王五',
  35. 'age' => 21
  36. ],
  37. '员工4'=>
  38. [
  39. 'name' => '赵柳',
  40. 'age' => 22
  41. ]
  42. ];
  43. `
2)二维数组的打印结果
  1. Array ( [员工1] => Array ( [name] => 张三 [age] => 19 )
  2. [0] => Array ( [name] => 李四 [age] => 20 )
  3. [员工2] => Array ( [name] => 王五 [age] => 21 )
  4. [1] => Array ( [name] => 赵柳 [age] => 22 ) )

我们可以看到二维数组的打印结果中数组的每一个键值对的值都是由另一个数组组成的。

2.三维数组和多维数组

1)三维数组

三维数组就是一个数组中的某一个或者某几个元素是数组,但是这个数组中的某一个或某几个元素又是数组的形式,此时我们就可以称这个数组是一个三维数组。

2)三维数组的创建
  1. `$arr7 = [
  2. '员工1'=>
  3. [
  4. 'name' => '张三',
  5. 'age' => 19,
  6. 'teach' =>[
  7. '数学',
  8. '语文'
  9. ]
  10. ],
  11. [
  12. 'name' => '李四',
  13. 'age' => 20
  14. ],
  15. '员工2'=>
  16. [
  17. 'name' => '王五',
  18. 'age' => 21
  19. ],
  20. [
  21. 'name' => '赵柳',
  22. 'age' => 22
  23. ],
  24. $arr3
  25. ];`

在这个数组中,可以看到arr6数组中的员工1的值就是一个数组,其中里面的tech的值又是一个数组。而且arr6数组的最后一个元素,是一个已经创建好的数组。

3)三维数组的打印结果
  1. Array ( [员工1] => Array ( [name] => 张三 [age] => 19 [tech] => Array ( [0] => 数学 [1] => 语文 ) )
  2. [0] => Array ( [name] => 李四 [age] => 20 )
  3. [员工2] => Array ( [name] => 王五 [age] => 21 )
  4. [1] => Array ( [name] => 赵柳 [age] => 22 )
  5. [2] => Array ( [0] => 10 [1] => 11 [2] => 12 [3] => 张三 ) )

四、二维数组遍历循环和三维数组的遍历循环

数组的遍历我们使用的是foreach($arr as $key =>$value)方法。$arr参数是指我们需要遍历的数组,$key参数是$arr中的键,$value参数是$arr中的值。当我们不需要获取键时,可以缩写成foreach($arr as $value)

1.一维数组的遍历

  1. `foreach($arr3 as $key => $v){
  2. print_r($key . '=>' . $v);
  3. echo '<br>';
  4. };`
  5. 输出的结果:
  6. 0=>10
  7. 1=>11
  8. 2=>12
  9. 3=>张三

2.二维数组的遍历

  1. `foreach($arr6 as $key => $v){
  2. echo $key . '=>';
  3. print_r($v);
  4. echo '<br>';
  5. }`
  6. 输出的结果:
  7. 员工1=>Array ( [name] => 张三 [age] => 19 )
  8. 0=>Array ( [name] => 李四 [age] => 20 )
  9. 员工2=>Array ( [name] => 王五 [age] => 21 )
  10. 1=>Array ( [name] => 赵柳 [age] => 22 )
  11. 2=>Array ( [0] => 10 [1] => 11 [2] => 12 [3] => 张三 )

对于格式相同的二维数组,我们要获取每一个元素中的二级数组中具有相同键的值时,可以在遍历外面数组时,通过指定的键来获取值。

  1. `$arr8 = [
  2. '员工1'=>
  3. [
  4. 'name' => '张三',
  5. 'age' => 19,
  6. ],
  7. '员工2'=>
  8. [
  9. 'name' => '李四',
  10. 'age' => 20
  11. ],
  12. '员工3'=>
  13. [
  14. 'name' => '王五',
  15. 'age' => 21
  16. ],
  17. '员工4'=>
  18. [
  19. 'name' => '赵柳',
  20. 'age' => 22
  21. ]
  22. ];
  23. foreach ($arr8 as $value) {
  24. print_r($value['name']);
  25. echo '<br>';
  26. };`
  27. 获得结果:
  28. 张三
  29. 李四
  30. 王五
  31. 赵柳

注意:对于二维及多维数组的循环,是建立在格式相对较为统一的数组上的,如果一个二维数组中格式不统一(某一个键的值不是一个数组)要实现数组的遍历,是要进行值判断的

3.三维数组的遍历

  1. ` $arr9 = [
  2. '员工1'=>
  3. [
  4. 'name' => '张三',
  5. 'age' => 19,
  6. 'teach'=>[
  7. '数学',
  8. '语文'
  9. ]
  10. ],
  11. '员工2'=>
  12. [
  13. 'name' => '李四',
  14. 'age' => 20,
  15. 'teach'=>[
  16. '英语',
  17. '语文'
  18. ]
  19. ],
  20. '员工3'=>
  21. [
  22. 'name' => '王五',
  23. 'age' => 21,
  24. 'teach'=>[
  25. '数学',
  26. '英语'
  27. ]
  28. ]
  29. ];
  30. foreach ($arr9 as $key =>$value) {
  31. print_r($key.'=>'.$value['name'].',');
  32. print_r($value['age'].',');
  33. echo 'teach:';
  34. foreach ($value[teach] as $item) {
  35. print_r($item);
  36. }
  37. echo '<br>';
  38. }`
  39. 输出的结果:
  40. 员工1=>张三,19,teach:数学语文
  41. 员工2=>李四,20,teach:英语语文
  42. 员工3=>王五,21,teach:数学英语

手写代码1
手写代码2

批改老师:查无此人查无此人

批改状态:合格

老师批语:完成的不错。
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学