Correcting teacher:Guanhui
Correction status:qualified
Teacher's comments:还行,结果图都有注释,文章可以适当再整理下排版。
$arr = ['id'=>110,'name'=>'admin','email'=>'575499@qq.com','xh'=>110];
print_r(array_keys($arr));
//提取键
echo "<br>";
echo array_key_exists('name',$arr) ? '存在' :'不存在','<br>';
//判断键名是否存在
echo array_key_first($arr);
//查数组第一个键
echo "<br>";
echo array_key_last($arr);
//查数组最后一个键
echo "<br>";
$arr1= ['1'=>1,'0'=>0,'3'=>'3','5'=>5,'4'=>4,'2'=>2];
print_r(array_values($arr1));
echo "<br>";
// 返回数组的元素的值组成的所有数组,对键排序
echo in_array('js',$arr)? '找到了':'没有','<br>';
//判断数组值是否存在
print_r(array_search('admin',$arr));
//判断数组值是否存在返回键品
echo "<br>";
print_r(array_unique($arr));
//对数组重复的数据清除。
echo "<br>";
$arr2=[1,2,3,5,6,7];
echo array_sum($arr2);
//数组内的数组相加,字符串会被转换为整数,
echo "<br>";
echo array_product($arr2);
//数组内的数组相乘
echo "<br>";
$arr3 =[];
array_push($arr3,20,30,40);
print_r($arr3);
echo "<br>";
echo array_pop($arr3);
//在栈的尾部进行增删
echo "<br>";
$arr3 =[];
array_unshift($arr3,'html','css','js','php');
print_r($arr3);
echo array_shift($arr3);
echo "<br>";
//在栈的头部进行增删
$arr3=[];
array_unshift($arr3,'html','css','js','php');
echo array_pop($arr3);
//头进尾出 array_unshift + array_pop
echo "<br>";
$arr3=[];
array_push($arr3,'html','css','js','php');
echo array_shift($arr3);
//尾进头出 array_push + array_shift
<?php
$arr =['q','t',3,2,1,4,6,5,'a','y',9];
sort($arr); //对数组按字母进行升序排序
print_r($arr);
echo "<br>";
rsort($arr); //对数值数组进行降序排序。
print_r($arr);
echo "<br>";
krsort($arr); //对关联数组按照键名进行降序排序。
print_r($arr);
echo "<br>";
$arr = [];
$arr = [3,54,67,4,2,7,8];
usort($arr,function($a,$b) //自定义排序,通过$a-$b调换位置升序和降序
{
return $a - $b;
});
print_r($arr);
natsort($arr); //自然排序
<?php
$arr =['id'=>110,'name'=>'孙悟空','age'=>98,'sex'=>'男'];
$res=array_slice($arr,-2,1);
print_r($res);
// array_slice 取数组中的值,1,2 1表示位置,2表示个数
// -2,1 -2表示从尾数,1表示个数
echo "<br>";
$arr=[];
$arr=[3,5,1,5,3,6,8,12,32,13,42];
$rs =array_splice($arr,2,1); //删除第二个开始的1个数值
$rs =array_splice($arr,1,2,[11,22]);//修改从第二位置的2个
$rs =array_splice($arr,1,0,[121,22]);//新增从第二位置新增2个
echo "<br>";
print_r($arr);
echo "<hr>";
$user =['id','username','sex','age','email','add'];
$value =[99,'孙悟空','男',599,'qtds@qq.com','广东省花果山市水帘洞小区1栋'];
print_r(array_combine($user,$value));
//两个数组的键和值链接 array_combine()
echo "<br>";
print_r(array_merge($user,$value));
//两个数组的值链接 array_merge()
<?php
$arr=[99,'HTML',true,[7,65,8],(new class{}),[],null,false,'',0,'0'];
$res=array_filter($arr,function($item)
{
return $item;
});
//回调函数过滤数组中的元素返回true和false
//[],null,false,'',0,'0' PHP中都属于false
$res =array_filter($arr);
$res =array_filter($arr,function($item)
{
return is_scalar($item);
});
//is_scalar用于检测变量是否是一个标量。时标量返回true
print_r($res);
echo"<hr>";
//array_map()为数组中的每个元素应用指导的回调函数进行处理,并返回新数组
$arr=['HTML',[3,2,1],(new class{public $name='孙悟空';public $age=99;}),88];
//对$arr数组元素是对象,则输出它的属性,如果是数组,则将它转为字符串输出,否则直接输出
$res= array_map(function($item){
switch(gettype($item)){
case 'object':
$item = get_object_vars($item);
$item = implode(', ',$item);
break;
case 'array' :
$item = implode(', ',$item);
}
return $item;
//判断当前元素是对象还是数组
},$arr);
print_r($res);
<?php
$arr = ['name','password','sex','age','add'];
echo implode(',',$arr);
//implode 将数组转换为字符串
echo "<br>";
$user =['id'=>11,'username'=>'孙悟空','sex'=>'男','age'=>99,'add'=>'广东省花果山市水帘洞小区1栋'];
extract($user);
echo $username,$sex,$age,$add;
//将关联数组拆分为变量
echo "<br>";
$id= 11;
$username='孙悟空';
$sex ='男';
$age = 99;
$add ='广东省花果山市水帘洞小区1号';
$res = compact('id','username','sex','age','add');
print_r($res);
//compact 将变量转为数组