批改状态:合格
老师批语:不必提交这么多函数用法的 , 你只需要将你认为比较难,有用的提交就可以, 更多本机完成即可
1、代码演示:
<?php// 和数组键有关的函数$arr = ['id'=>1, 'username'=>'admin', 'email'=>'admin@php.cn'];echo '<pre>'.print_r($arr,true).'</pre>';echo '<pre>'.print_r(array_keys($arr),true).'</pre>';var_dump(array_key_exists('id',$arr));echo '<br>';var_dump(array_key_last($arr));echo '<br>';var_dump(array_key_first($arr));echo '<hr>';// 和数组有关的函数$arr = [3=>10, 9=>20, 0=>'html', 'id'=>'css', 20=>20, 10=>30];echo '<pre>'.print_r($arr,true).'</pre>';echo '<pre>'.print_r(array_values($arr),true).'</pre>';var_dump(in_array(20,$arr));echo '<br>';var_dump(array_search('css',$arr));echo '<pre>'.print_r(array_unique($arr),true).'</pre>';echo '<hr>';// 统计数组统计有关的函数var_dump(count($arr));echo '<br>';var_dump(array_count_values($arr));echo '<br>';$arr = [10, 20, 30];echo array_sum($arr);echo '<br>';echo array_product($arr);echo '<hr>';//栈和对列的操作:栈后进先出,队列先进先出$stack=[];array_push($stack,0,1);array_push($stack,[2,3,4]);echo '<pre>'.print_r($stack,true).'</pre>';array_pop($stack);echo '<pre>'.print_r($stack,true).'</pre>';echo '……………………………………………………………………………………………………';array_unshift($stack,'one','two');echo '<pre>'.print_r($stack,true).'</pre>';array_shift($stack);echo '<pre>'.print_r($stack,true).'</pre>';echo '<hr>';$arr = [30, 4, 82, 15, 20, 'abc', 'hello', 2, 46];echo '<pre>'.print_r($arr,true).'</pre>';// sort($arr);// echo '<pre>'.print_r($arr,true).'</pre>';// rsort($arr);// echo '<pre>'.print_r($arr,true).'</pre>';// asort($arr);// echo '<pre>'.print_r($arr,true).'</pre>';// arsort($arr);// echo '<h1>arsort</h1>';// echo '<pre>'.print_r($arr,true).'</pre>';$arr = ['e'=>10, 'a'=>30, 'p'=>50];ksort($arr);echo '<pre>'.print_r($arr,true).'</pre>';krsort($arr);echo '<pre>'.print_r($arr,true).'</pre>';$arr = ['img1.jpg', 'img5.jpg', 'img10.jpg', 'img8.jpg'];echo '<pre>'.print_r($arr,true).'</pre>';natsort($arr);echo '<pre>'.print_r($arr,true).'</pre>';echo '<hr>';$arr = ['id'=>109, 'username'=>'peter', 'age'=> 27, 'salary'=>99999];print_r($arr);shuffle($arr);// print_r($arr);// print_r(array_reverse($arr));// print_r(array_flip($arr));print_r($arr); echo '<hr>';
1、演示结果图:
2、代码:
<?php$arr= ['Apple', 'Dell', 'Lenovo', 'Hp', 'ThinkPad', 'Huawei', 'Xiaomi'];// print_r($arr);// echo '<br>';// print_r(array_slice($arr,1,3));// print_r(array_splice($arr,3));// print_r(array_splice($arr,3,2));// print_r(array_splice($arr,3,2,['Acer','ASUS']));// print_r(array_rand($arr,3));默认为一个;$arr = [['id'=>101, 'name'=>'jack', 'age'=>20],['id'=>102, 'name'=>'mike', 'age'=>30],['id'=>103, 'name'=>'pony', 'age'=>40],];// print_r($arr);// echo '<hr>';// print_r(array_column($arr,'name'));// print_r(array_column($arr,'age','name'));$arr = ['type'=>'mysql', 'host'=>'localhost', 'username'=>'root', 'password'=>'root'];$arr1 = ['host'=>'127.0.0.1', 'username'=>'admin','age'=>5];$arr2 = ['username'=>'peter', 'password'=>'123456'];print_r(array_replace($arr,$arr1));print_r(array_replace($arr,$arr1,$arr2));echo '<hr>';$arr1 = [10, 20, 30, 40, 60];$arr2 = [1, 20, 30, 5];print_r(array_intersect($arr1, $arr2)); echo '<hr>';// array_diff(),保留第一个数组中不一样的;print_r(array_diff($arr1,$arr2));echo '<hr>';// array_combine():通过合并两个数组来创建一个新数组(第一个数组元素界面);两个数组的数量一样;$keys = ['type', 'host', 'dbname', 'username', 'password'];$values = ['mysql', 'localhost', 'phpedu', 'root', 'root'];print_r(array_combine($keys,$values));echo '<hr>';//把一个或多个数组合并为一个新数组;$keys = ['type', 'host', 'dbname', 'username', 'password'];$values = ['mysql', 'localhost', 'phpedu', 'root', 'root'];$arr2 = [1, 20, 30, 5];// print_r(array_merge($keys,$values,$arr2));echo '<hr>';$arr1 = [10, 20, 30, 40, 60,21,23,44,56,43,56,12];echo '<pre>'.print_r(array_chunk($arr1,3)).'</pre>';
2、演示结果:
3、代码演示:
<?php// print_r(array_fill(0,7,'A'));// print_r(array_fill(2,7,'A'));// echo '<hr>';//// print_r(array_fill_keys($keys, 'hello')); echo '<hr>';// $arr = ['apple', 'dell', 'thinkpad'];// print_r(array_pad($arr, 6, 'computer'));$values = ['id', 'name', 'age', 'hoppy'];list($id,$name,$age,$hoppy)=$values;echo "$id,$name,$age,$hoppy";$str=implode('=',$values);echo $str;print_r(explode('=',$str));$data = ['id'=>1,'name'=>'ldy','age'=>31,'hoppy'=>'跑步'];extract($data);echo $id,$name,$age,$hoppy;$id = 99;$name = 'Peter Zhu';$job = 'Lecture';$data1=compact('id','name','job');print_r($data1);echo '<hr>';$keys = ['host', 'username', 'password'];$values = ['localhost', 'admin', '666888'];$result = array_map(function ($value1, $value2) {return [$value1=>$value2];}, $keys, $values);echo '<pre>'.print_r($result,true).'</pre>';// $results=[];// foreach($result as $arr){// $results[current($arr)]=key($arr);// }// // print_r($result);// print_r($results);$res = array_reduce($result, function ($prev, $current) {// 获取当前元素的键值$key = key($current);$value = current($current);// 拼装成一个元素并返回$prev[$key] = $value;return $prev;});print_r($res);
3、演示结果:
array_keys: 获取所有键名组成的数组array_key_exists: 是否存在指定键名array_key_last“ 获取最后一个键名php7.3+array_key_first: 获取第一个键名php7.3+array_values: 返回数组中所有值组成的数组in_array: 检查数组中是否存在某个值array_search: 搜索指定的值,返回键名array_unique: 删除重复的值count: 统计元素数量或对象属性数量array_count_values: 统计所有值的出现频率array_sum 对数组中所有值求和array_product: 计算数组中所有值的乘积array_push: 从尾部添加一个或多个元素array_pop: 从尾部删除最后一个元素array_unshift: 从头部添加一个或多个元素array_shift: 从头部删除一个元素sort: 按值升序排序, 索引重排asort: 按值升序排序, 索引保持不变rsort: 按值降序排序, 索引重排arsort: 按值降序排序, 索引保持不变ksort: 按键名升序排序krsort: 按键名降序排序usort: 自定义函数对值进行排序uasort: 自定义函数对值排序并保持索引不变uksort: 自定义函数对键名进行排序natsort: 支持数字型字符串排序natcasesort: 不区分大小写shuffle: 随机打乱一个数组的顺序array_flip: 交换数组中的键和值array_reverse: 反转一个数组array_slice: 从数组中取出一部分array_splice: 去掉数组中一部分并用其它值代替array_rand: 从数组中随机取出一个或多个元素的键名array_column: 获取多维数组中一列组成的新数组array_replace 使用后面数组的值替换第一个数组的值array_replace_recursive 使用传递的数组递归替换第一个数组的元素array_intersect: 计算数组的交集array_intersect_assoc: 返回数组交集,键名也做比较array_diff:返回数组的差集array_diff_assoc: 返回数组差集,键名也做比较array_combine: 通过合并两个数组来创建一个新数组array_merge: 把一个或多个数组合并为一个数组array_chunk: 将一个数组分割成多个子数组current: 获取当前元素的值key: 获取当前元素的键名next: 将数组中的内部指针向前移动一位prev: 将数组的内部指针倒回一位end: 将数组的内部指针指向最后一个单元reset: 将数组的内部指针指向第一个单元array_fill: 用给定的值填充数组array_fill_keys: 使用指定的键和值填充数组array_pad: 以指定长度将一个值填充进数组list: 将数组中的值赋予一组变量(类似解构赋值)implode: 将数组元素按指定字符拼装成字符串explode: 将字符串分割为数组extract: 将关联数组拆分成变量名值对compact: 将一组变量名值对拼装成一个关联数组键值对array_filter: 用回调函数过滤数组中的单元array_map: 为数组的每个元素应用回调函数array_reduce: 使用用户自定义函数对数组中的每个元素做回调处理
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号