批改状态:合格
老师批语:第10期还在坚持写作业的, 不多了, 希望你坚持
1、代码练习:
<?php$arr=['one'=>11,'two'=>23,'three'=>43,'four'=>56,'five'=>33,'six'=>21,'seven'=>22,'eight'=>50];//1、 获取数组的键值函数print_r(array_keys($arr));//返回键组成的数组echo '<br>';// array_key_exists($key,$arr)返回布尔值:boolprint_r(array_key_exists('three',$arr));echo '<br>';var_dump(in_array('two',$arr));echo '<br>';print_r(array_key_last($arr));echo '<br>';//2、array_rand()随机从数组中取出一个或者多个元素返回一个新数组print_r(array_rand($arr,2));echo '<br>';// 3、array_column($arr,value,key)从多维数组中取出一列元素组成新的数组(关联数组key=>value);$stu=[['id'=>1,'name'=>'ldy','age'=>26,'sex'=>'1'],['id'=>2,'name'=>'dlf','age'=>28,'sex'=>'0'],['id'=>3,'name'=>'dc','age'=>20,'sex'=>'1']];print_r(array_column($stu,'name','id'));echo '<br>';//4、array_combine($arr1,$arr2)两组数据创建一个新数组:[$arr1=>$arr2,……]echo '<hr>';$arr1=['id'=>1,'name'=>'ldy','age'=>26,'sex'=>'1'];$arr2=['id'=>2,'name'=>'dlf','age'=>28,'sex'=>'0'];$arr3=['id1'=>2,'name1'=>'dlf','age1'=>28,'sex1'=>'0'];print_r(array_combine($arr1,$arr2));//$arr1做键,$arr2做值echo '<br>';print_r(array_merge($arr1,$arr3));//合并两个数组echo '<br>';echo '拆分数组<br>';// 5、array_chunk($arr,int)把一个数组拆分成和list()printf('<pre>%s</pre>',print_r(array_chunk($arr1,2),true));list($ar1,$ar2)=array_chunk($arr2,2);printf('<pre>%s<br>%s</pre>',print_r($ar1,true),print_r($ar2,true));//6、数组差集diff和交集intersect;$arr1=[2,3,5,6,7,8];$arr2=[1,2,3,4,5,6,8];// print_r(array_intersect($arr1,$arr2));// print_r(array_intersect($arr2,$arr1));printf('<pre>%s<br>%s</pre>',print_r(array_intersect($arr1,$arr2),true),print_r(array_intersect($arr2,$arr1),true));printf('<pre>%s<br>%s</pre>',print_r(array_diff($arr1,$arr2),true),print_r(array_diff($arr2,$arr1),true));$arr1=['id'=>1,'name'=>'ldy','age'=>26,'sex'=>'1'];// 7、把关联数组差分成对象extract($arr1);echo $id,$name,$age,'<br>';//8、 implode()和explode()$arr=['one',1,2,'two'];echo implode($arr,'*'),'<br>';print_r(explode('-',implode($arr,'*')));echo '<br> ';// 9、随机生成数组;rand();print_r(range(10,100,10));echo rand(2,10),'<br>';// 10、array_fill()用指定的内容填充数组$arr=[];print_r(array_fill(1,5,"*_*"));
2、代码练习演示结果:
1、数组值进行计算时:字符串如果以数字开头取数字部分(碰见字符结束)参与计算,字母开头的字符串当作零参与运算;
2、usort($arr,function($value1,$value2){})自定义排序:重排值并赋予新的键名
3、array_slice($arr,$start,$step,true):对索引数组,重排键;
4、array_splice($arr,$start,$step):$start和$step去负值时,包含$start但不包含$step;
5、array_column($arr,value,key)从多维数组中取出一列元素组成新的数组(关联数组key=>value);
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号