Blogger Information
Blog 12
fans 0
comment 0
visits 11931
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP数组的创建和遍历----PHP九期线上班
張涛的博客
Original
928 people have browsed it

一、数组的创建

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

Correcting teacher:查无此人查无此人

Correction status:qualified

Teacher's comments:完成的不错。
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post