<?php /** * Created by phpstorm * Author: Aka * Date: 2019/12/7 * Time: 19:10 **/ //索引数组 $arr1 = array('this','is','first','array','!'); //关联数组 $arr2 = array('firstName'=>'Aka','lastName'=>'Jack','age'=>20,'address'=>"湖南湘潭"); $arr3 = array('iphoneX'=>5000,'mi9'=>4600,'iphone8'=>6000,'honor_v12'=>4396); $arr4 = array('13'=>5000,26=>'Lx','ip'=>6000,'4396'=>'clearLove'); echo '获取数组中的键(不保持索引关系)','<br>'; $arr5 = array_keys($arr2); var_dump($arr5); /* array(4) { [0]=> string(9) "firstName" [1]=> string(8) "lastName" [2]=> string(3) "age" [3]=> string(7) "address" } */ echo '获取数组中的键(不保持索引关系)','<br>'; $arr6 = array_values($arr4); var_dump($arr6); /* array(4) { [0]=> int(5000) [1]=> string(2) "Lx" [2]=> int(6000) [3]=> string(9) "clearLove" } */ echo '交换数组中键和值的位置,若重复前面的,会被后面的覆盖'; $arr7 = array_flip($arr3); var_dump($arr7); /* array(4) { [5000]=> string(7) "iphoneX" [4600]=> string(3) "mi9" [6000]=> string(7) "iphone8" [4396]=> string(9) "honor_v12" } */ echo '判断给定的值是否在数组中','<br>'; //返回一个布尔类型的值 $res = in_array('Jack',$arr2); var_dump($res); // bool(true) echo '搜索数组中的某个值,存在则返回它的键,不存在则返回false','<br>'; //方法一 $res1 = array_search('clearLove',$arr4); echo '这是查找clearLove值返回的值:'.$res1,'<br>'; //这是查找clearLove值返回的值:4396 echo '给定键是否在数组中存在(返回一个布尔值)','<br>'; $res2=isset($arr4['4396']); var_dump($res2);//bool(true) echo '<br>'; //方法二 $re3 = array_key_exists('4396',$arr4); //var_dump($re3); echo '用array_key_exists()方法来判断数组$arr4中是否有相应的key,返回一个布尔类型','<br>',var_dump($re3); //获取数组元素的个数 //方法一 $res4 = count($arr4); echo '<br>',$res4,'<br>'; //4 //方法二 $res5 = sizeof($arr4); echo $res5,'<br>'; //4 echo '修改数组键名的大小写','<br>'; //array_change_key_case($arr,CASE_LOWER(小写:0)/CASE_UPPER(大写:1)) $arr8 = array_change_key_case($arr4,1); var_dump($arr8); foreach ($arr8 as $k=>$value){ echo '$arr key='.$k,'<br>'; } $arr9 = array('Aka'=>'123','Jack'=>'123','con'=>'LX','abstract'=>'LX',1=>'lX',2=>'Lx',6=>'lx',777=>'zero',4396=>'zero'); var_dump($arr9); //统计前 /* array(9) { ["Aka"]=> string(3) "123" ["Jack"]=> string(3) "123" ["con"]=> string(2) "LX" ["abstract"]=> string(2) "LX" [1]=> string(2) "lX" [2]=> string(2) "Lx" [6]=> string(2) "lx" [777]=> string(4) "zero" [4396]=> string(4) "zero" } */ echo '<br>'; echo '统计数组中所有的值出现的次数,返回值是一个数组','<br>'; $arr10 = array_count_values($arr9); var_dump($arr10); //统计后生成的数组,被通缉的元素做键,统计的数字做值 /* array(6) { [123]=> int(2) ["LX"]=> int(2) ["lX"]=> int(1) ["Lx"]=> int(1) ["lx"]=> int(1) ["zero"]=> int(2) } */ echo '<br>'; foreach ($arr10 as $key=>$value){ echo 'key='.$key,'->','value='.$value,'<br>'; } //echo '弹出数组的最后一个元素','<br>'; $res6 = array_pop($arr4); echo '弹出$arr4的最后一个元素$res6:'; var_dump($res6); echo '将一个或多个单元压如数组的末尾','<br>'; array_push($arr1,'Aka','kaka','tian','dddd'); echo '在索引数组中压入','<br>'; var_dump($arr1); echo '<br>'; array_push($arr4,'Aka','kaka','tian','dddd'); echo '在关联数组中压入','<br>'; var_dump($arr4); echo '将一个或多个单元压如数组的首部','<br>'; array_unshift($arr4,'Aka','kaka','tian','dddd'); echo '在关联数组中压入','<br>'; var_dump($arr4); /* array(11) { [0]=> string(3) "Aka" [1]=> string(4) "kaka" [2]=> string(4) "tian" [3]=> string(4) "dddd" [4]=> int(5000) [5]=> string(2) "Lx" ["ip"]=> int(6000) [6]=> string(3) "Aka" [7]=> string(4) "kaka" [8]=> string(4) "tian" [9]=> string(4) "dddd" } */ //将数组反序 $arr11 = array_reverse($arr2); echo '<br>'; var_dump($arr2); /* array(4) { ["firstName"]=> string(3) "Aka" ["lastName"]=> string(4) "Jack" ["age"]=> int(20) ["address"]=> string(12) "湖南湘潭" } */ echo '<br>'; var_dump($arr11); /* array(4) { ["address"]=> string(12) "湖南湘潭" ["age"]=> int(20) ["lastName"]=> string(4) "Jack" ["firstName"]=> string(3) "Aka" } */ echo '对数组中的所有值求和','<br>'; $res7 = array_sum($arr3); echo '对$arr3的值求和后:'.$res7,'<br>';//19996 echo '对数组中的所有值求乘积','<br>'; $res8 = array_product($arr3); echo '对$arr3的值求乘积后:'.$res8,'<br>';//6.06648E+14 //除去数组中重复的值 $arr12 = array_unique($arr9); var_dump($arr12); /* array(6) { ["Aka"]=> string(3) "123" ["con"]=> string(2) "LX" [1]=> string(2) "lX" [2]=> string(2) "Lx" [6]=> string(2) "lx" [777]=> string(4) "zero" } */ echo '打乱数组$arr12','<br>'; $arr13 = shuffle($arr12); //返回值为一个布尔型 var_dump($arr12); //打乱后的$arr12 /* array(6) { [0]=> string(3) "123" [1]=> string(2) "lX" [2]=> string(4) "zero" [3]=> string(2) "lx" [4]=> string(2) "LX" [5]=> string(2) "Lx" } */