Correcting teacher:查无此人
Correction status:qualified
Teacher's comments:完成的不错。
`$arr1 = array();`
`$arr2 = [];`
`$arr3 = array(
10,11,12,'张三'
);`
或者
`$arr3 = [
10,11,12,'张三'
];`
数组的索引值是从0开始的。
创建时,每一个元素使用逗号隔开的。
关联数组即自定义数组的元素的键。
`$arr4 = array(
'zhangsan' => '张三',
'lisi' => '李四',
'wangwu' => '王五'
);`
或者
`$arr5 = [
'zhangsan' => '张三',
'lisi' => '李四',
'wangwu' => '王五',
'2' => 2
];`
a.关联数组的创建不建议使用汉字作为每一个数组中的键值对的键,可以使用数字和字母。
b.关联数组中可以有默认的键。使用默认的键的数组的键值对是从0开始排列的。
`$arr4 = array(
'zhangsan' => '张三', //'zhangsan'=>'张三'
'李四', //0=>'李四'
'wangwu' => '王五', //'wangwu'=>'王五'
'赵柳' //1=>'赵柳'
);`
`var_dump($arr3) ;`
输出结果:array(4) { [0]=> int(10) [1]=> int(11) [2]=> int(12) [3]=> string(6) "张三" }
`print_r($arr3);`
输出结果:Array ( [0] => 10 [1] => 11 [2] => 12 [3] => 张三 )
二维数组就是一个数组的某一个或者某几个元素是数组的形式。
`$arr6 = [
'员工1'=>
[
'name' => '张三',
'age' => 19,
],
[
'name' => '李四',
'age' => 20
],
'员工2'=>
[
'name' => '王五',
'age' => 21
],
[
'name' => '赵柳',
'age' => 22
]
];
$arr8 = [
'员工1'=>
[
'name' => '张三',
'age' => 19,
],
'员工2'=>
[
'name' => '李四',
'age' => 20
],
'员工3'=>
[
'name' => '王五',
'age' => 21
],
'员工4'=>
[
'name' => '赵柳',
'age' => 22
]
];
`
Array ( [员工1] => Array ( [name] => 张三 [age] => 19 )
[0] => Array ( [name] => 李四 [age] => 20 )
[员工2] => Array ( [name] => 王五 [age] => 21 )
[1] => Array ( [name] => 赵柳 [age] => 22 ) )
我们可以看到二维数组的打印结果中数组的每一个键值对的值都是由另一个数组组成的。
三维数组就是一个数组中的某一个或者某几个元素是数组,但是这个数组中的某一个或某几个元素又是数组的形式,此时我们就可以称这个数组是一个三维数组。
`$arr7 = [
'员工1'=>
[
'name' => '张三',
'age' => 19,
'teach' =>[
'数学',
'语文'
]
],
[
'name' => '李四',
'age' => 20
],
'员工2'=>
[
'name' => '王五',
'age' => 21
],
[
'name' => '赵柳',
'age' => 22
],
$arr3
];`
在这个数组中,可以看到arr6
数组中的员工1的值就是一个数组,其中里面的tech
的值又是一个数组。而且arr6
数组的最后一个元素,是一个已经创建好的数组。
Array ( [员工1] => Array ( [name] => 张三 [age] => 19 [tech] => Array ( [0] => 数学 [1] => 语文 ) )
[0] => Array ( [name] => 李四 [age] => 20 )
[员工2] => Array ( [name] => 王五 [age] => 21 )
[1] => Array ( [name] => 赵柳 [age] => 22 )
[2] => Array ( [0] => 10 [1] => 11 [2] => 12 [3] => 张三 ) )
数组的遍历我们使用的是foreach($arr as $key =>$value)
方法。$arr
参数是指我们需要遍历的数组,$key
参数是$arr
中的键,$value
参数是$arr
中的值。当我们不需要获取键时,可以缩写成foreach($arr as $value)
。
`foreach($arr3 as $key => $v){
print_r($key . '=>' . $v);
echo '<br>';
};`
输出的结果:
0=>10
1=>11
2=>12
3=>张三
`foreach($arr6 as $key => $v){
echo $key . '=>';
print_r($v);
echo '<br>';
}`
输出的结果:
员工1=>Array ( [name] => 张三 [age] => 19 )
0=>Array ( [name] => 李四 [age] => 20 )
员工2=>Array ( [name] => 王五 [age] => 21 )
1=>Array ( [name] => 赵柳 [age] => 22 )
2=>Array ( [0] => 10 [1] => 11 [2] => 12 [3] => 张三 )
对于格式相同的二维数组,我们要获取每一个元素中的二级数组中具有相同键的值时,可以在遍历外面数组时,通过指定的键来获取值。
`$arr8 = [
'员工1'=>
[
'name' => '张三',
'age' => 19,
],
'员工2'=>
[
'name' => '李四',
'age' => 20
],
'员工3'=>
[
'name' => '王五',
'age' => 21
],
'员工4'=>
[
'name' => '赵柳',
'age' => 22
]
];
foreach ($arr8 as $value) {
print_r($value['name']);
echo '<br>';
};`
获得结果:
张三
李四
王五
赵柳
` $arr9 = [
'员工1'=>
[
'name' => '张三',
'age' => 19,
'teach'=>[
'数学',
'语文'
]
],
'员工2'=>
[
'name' => '李四',
'age' => 20,
'teach'=>[
'英语',
'语文'
]
],
'员工3'=>
[
'name' => '王五',
'age' => 21,
'teach'=>[
'数学',
'英语'
]
]
];
foreach ($arr9 as $key =>$value) {
print_r($key.'=>'.$value['name'].',');
print_r($value['age'].',');
echo 'teach:';
foreach ($value[teach] as $item) {
print_r($item);
}
echo '<br>';
}`
输出的结果:
员工1=>张三,19,teach:数学语文
员工2=>李四,20,teach:英语语文
员工3=>王五,21,teach:数学英语