Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:作业落下不少呀
print_r($arr);
echo ‘<hr>‘;
//2.array(1 => “XXX”, 2 => “XXX”)函数声明数组,指定数组的下标
$arr2 = array(“name” => “小明”,”age” => “25”,”sex” => “男”);
print_r($arr2);
echo ‘<hr>‘;
//二维数组
$arr3 = array(
“php”=>array(“php”,”thinkphp”),
“js”=>array(“M”=>”js”,”N”=>”jQuery”,”vue”,”react”),
“html”=>array(10=>”html”,”html5”)
);
print_r($arr3);
echo ‘<hr>‘;
//访问arr3数组中的js 下面的vue元素
echo $arr3[“js”][0];
运行结果:![](https://img.php.cn/upload/image/328/495/160/1603199873594172.png)
------------
####数字的遍历
```php
//数组的遍历------------------------------------------------------------------
//1.while 循环遍历
$arr = array("php","mysql","java");
while(true){
printf('[%s] =>%s <br>',key($arr),current($arr));
if(next($arr)) continue;
else break;
}
echo '<hr>';
//2.for 循环遍历
$student = ['name'=>'king','age'=> '28','salary'=>'8000'];
for($i = 0;$i < count($student);$i++){
printf('[%s] =>%s <br>',key($student),current($student));
next($student);
}
echo '<hr>';
//3.foreach 循环
foreach($student as $k => $v){
echo $v.'<br>';
}
echo '<hr>';
//数组的解构
$goods = [
['name' => 'iphone12','brand' => '苹果','price' => '¥6800'],
['name' => 'MacBookPro','brand' => '苹果','price' => '¥12888'],
['name' =>'iPad','brand' => '苹果','price' => '¥4850'],
];
foreach($goods as list('brand' => $brand,'name' => $name, 'price' => $price)){
printf('brand=%s,name=%s,price=%s<br>',$brand,$name,$price);
}
运行结果:
$user = ['id' => 1,'name' => '小胖','name' => '小胖','grade' => '1年级','score' =>95];
// 1. array_values 获取数组的值
print_r(array_values($user)); echo '<hr>';
// 2. array_keys 获取数组的键
print_r(array_keys($user)); echo '<hr>';
//3.array_key_exists() 检索给定的键名是否存在数组中,它的返回值是布尔值。
echo array_key_exists('grade',$user) ? $user['grade'] : '不存在'; echo '<hr>';
//4.in_array("key",$arr);在数组中检索key是否存在,返回布尔值。
var_dump(in_array('id',$user)); echo '<hr>';
//5,array_search("value",$arr); 在数组中检索value ,如果存在返回键名
echo array_search('小胖',$user); echo '<hr>';
//6.array_unique($arr); 去重。
print_r($user); echo '<hr>';
//7.array_sun($arr); 求和。
$numbers = [2,4,6,3,8];
var_dump(array_sum($numbers)); echo '<hr>';
//8.array_push(),入栈,将一个或多个元素压入数组栈的末尾
$phone = ['xiaomi','huawei'];
array_push($phone,'iphone');
print_r($phone) ; echo '<br>';
//9.array_pop() ,出栈,将数组栈的最后一个元素弹出
array_pop($phone);
print_r($phone); echo '<hr>';
//array_shift 函数删除数组中第一个元素,并返回被删除元素的值。
//array_unshift 函数用于向数组插入新元素。新数组的值将被插入到数组的开头。
//10. array_column获取二维数组某一列的集合
$class = [
['name'=>'zhangsan','chinese'=>'89','math'=>'95','english'=>'88'],
['name'=>'lisi','chinese'=>'91','math'=>'86','english'=>'90'],
['name'=>'laowang','chinese'=>'99','math'=>'76','english'=>'33'],
];
$names = array_column($class,'name');
print_r($names); echo '<hr>';
//11. array_change_key_case($arr,CASE_UPPER) 改变数组键的大小写
$ev=["a"=>"Lamp","db"=>"mysql","language"=>"PHP"];
print_r(array_change_key_case($ev,CASE_UPPER)); //大写
echo "<br/>";
print_r(array_change_key_case($ev,CASE_LOWER)); //小写
echo "<hr>";
//12. array array_diff_assoc ($array1 ,$array2 [, array $ ... ] ) 返回一个数组,
//该数组包括了所有在 array1 中但是不在任何其它参数数组中的值键不同也算
$color1=['a'=>'green','b'=>'brown','c'=>'red'];
$color2=['a'=>'green','yellow','red'];
print_r(array_diff_assoc($color1,$color2));
运行结果: