批改状态:合格
老师批语:很认真
explode():使用一个字符串分割另一个字符串,并返回由字符串组成的索引数组
$str = 'one----two----three----four';// 返回包含一个元素的数组print_r(explode('----',$str,0));print "<br>";// 数组元素为 2print_r(explode('----',$str,2));print "<br>";// 删除最后一个数组元素print_r(explode('----',$str,-1));

implode():将一个数组内的所有元素按照某个指定的规则,拼接成一个字符串
$arr = ['one','two','three','four'];echo implode(" ",$arr)."<br>";echo implode("----",$arr)."<br>";echo implode("####",$arr)."<br>";echo implode("X",$arr);

array_keys():获取一个数组的所有键名,返回一个索引数组
$arr = [3=>10, 9=> 20, 0 => 'html', 'id' => 'css', 20 => 20, 30];print_r(array_keys($arr));

array_array_values():获取一个数组的所有值,返回一个索引数组,会将键名重置
$arr = [3=>10, 9=> 20, 0 => 'html', 'id' => 'css', 20 => 20, 30];print_r(array_values($arr));

in_array($search, $arr): 检查某个元素是否存在于指定的数组中
$arr = [3=>10, 9=> 20, 0 => 'html', 'id' => 'css', 20 => 20, 30];echo (in_array('html5', $arr) ? '存在' : '没有') . '<br>';

array_search($search, $arr): 搜索指定的值, 返回的是键名
echo $key = array_search('css', $arr);

array_unique($arr): 删除重复的值, “去重”函数
print_r( array_unique($arr));

count(): 非数组返回1,是数组返回成员数量
$arr = [3=>10, 9=> 20, 0 => 'html', 'id' => 'css', 20 => 20, 30];// $arr = 'aaa';echo count($arr);echo '<hr>';


array_count_values($arr): 统计数组中某个值的出现的频率
$arr = [3=>10, 9=> 20, 0 => 'html', 'id' => 'css', 20 => 20, 30];$res = array_count_values($arr);printf('<pre>%s</pre>', print_r($res,true));

array_sum():求和array_product():乘积
array_slice() 返回数组中的选定的部分内容
$a =['一年级','二年级','三年级','四年级','五年级'];print_r(array_slice($a,0));echo '<hr>';// 获取前2个print_r(array_slice($a, 0, 2));echo '<hr>';// 从第2个索引开始取3个print_r(array_slice($a, 1, 3));echo '<hr>';// 第2个参数支持负数print_r(array_slice($a, -3, 2));

array_splice():从数组中删除选定的元素,并用新元素取代它,可以实现对数组的替换\删除\添加\更新
$a =['一年级','二年级','三年级','四年级','五年级'];// 删除元素// array_splice($a, 起始索引, 删除数量), 返回的是被删除元素组成的数组$res=array_splice($a, 1, 2);printf('<pre>%s</pre><hr>', print_r($res, true));// 替换功能$res=array_splice($a, 1, 2, ['初一', '初二']);// 添加$res=array_splice($a, 1, 0, ['初一', '初二']);// 负数$res=array_splice($a, -3, 2, ['初一', '初二']);printf('删除的元素: <pre>%s</pre><hr>', print_r($res, true));printf('结果: <pre>%s</pre><hr>', print_r($a, true));

array_filter(): 用回调过滤数组中的单元,返回计算结果为true的元素组成的数组
$array = [0 => 'admin',1 => false,2 => 1,3 => null,4 => '',5 => '电脑',6 => '0'];print_r(array_filter($array));

array_map(): 为数组中的每个元素应用回调函数进行处理,返回新数组
$array = ['admin','三年级','电脑',['初一', '初二']];$res = array_map(function($item){// 将对象和数组拉平switch (gettype($item)) {case 'array':$item = implode(', ', $item);}return $item;}, $array);printf('<pre>%s</pre><hr>', print_r($res, true));

array_reduce(): 迭代处理数组元素
$key = ['用户名', '密码', '邮箱'];$values = ['admin', 'abc123456', 'admin@php.com'];$res = array_map(function($value1, $value2) {return [$value1 => $value2];}, $key, $values);$res=array_reduce($res, function($prev, $current){// 获取当前元素的键$key = key($current);// 获取当前元素的值$value = current($current);// 拼装成键值对$prev[$key] = $value;return $prev;});printf('内置的数组迭代:<pre>%s</pre><hr>', print_r($res, true));

数组排序(对值排序):
sort($arr):升序
asort($arr):升序,但索引不变
rsort($arr):降序
arsort($arr):升序,但索引不变
explode():使用一个字符串分割另一个字符串,并返回由字符串组成的索引数组implode():将一个数组内的所有元素按照某个指定的规则,拼接成一个字符串array_slice() 返回数组中的选定的部分内容array_splice():从数组中删除选定的元素,并用新元素取代它,可以实现对数组的替换\删除\添加\更新array_combine($key, $values):两个数组合并,返回一个新数组
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号