批改状态:合格
老师批语:
数组相关处理函数

<?php// 一、数组相关处理函数// 1、key() 函数返回数组内部指针当前指向元素的键名$arr = ['id'=>1987,'name'=>'fugen','email'=>'2017539632@qq,com'];$keys = [];echo key( $arr),'<br>';next($arr);echo key( $arr).'<br>';next($arr);echo key( $arr).'<br>';//指针复位reset( $arr).'<br>';echo key( $arr).'<br>';echo '<hr>';// 2、array_keys()返回数组,数组成员是原数组的键名$arr2 = ['id'=>1988,'name'=>'fugen','email'=>'2017539632@qq,com'];print_r(array_keys( $arr));echo '<hr>';// 3、array_values()返回数组中所有的值(不保留键名),键值从0到1 递增$arr3 = ['id'=>1988,'name'=>'fugen','email'=>'2017539632@qq,com'];print_r(array_values($arr3));echo '<hr>';// 4、in_array()检测一个成员在不在指定的数组中,存在返回true 不存在返回false$arr4 = ['id'=>1989,'name'=>'fugen','email'=>'2017539632@qq,com'];var_dump(in_array('fugen',$arr4));var_dump(in_array('xiaoer',$arr4));echo '<hr>';// 5、array_search() 不存在返回false,存在的话返回元素值对应的键名$arr5 = ['id'=>1990,'name'=>'fugen','email'=>'2017539632@qq,com'];var_dump(array_search(1989,$arr5));var_dump(array_search(1990,$arr5));echo '<hr>';// 6、array_unique() 移除数组中重复的值$arr6 = [1,2,3,4,5,5,6,8,8,7,9];print_r(array_unique($arr6)).'<br>';echo '<hr>';// 7、array_sum() 返回数组中所有成员的和$arr7 = [1,2,3,4,5,];var_dump(array_sum($arr7)); //int(15)echo '<hr>';// 8、array_product() 返回数组中所有成员相乘的结果$arr8 = [1,2,3,4,];var_dump(array_product($arr8));//int(24)echo '<hr>';// 二、数组的拆分与合并// 9、array_slice 从数组中去除一部分元素$stu9 = ['id'=>1001,'name'=>'张福根','age'=>30,'course'=>'php'];print_r(array_slice($stu9,1,1));//Array ( [name] => 张福根 )echo '<hr>';// 10、array_splice() 函数从数组中移除选定的元素,并用新元素取代它。$stu10 = ['id'=>1001,'name'=>'张福根','age'=>30,'course'=>'php'];//删除print_r(array_splice($stu10,2,1));//Array ( [age] => 30 )echo '<br>';print_r($stu10);//Array ( [id] => 1001 [name] => 张福根 [course] => php )echo '<hr>';// 替换$stu11 = [10,25,9,33,56,21,82,47];print_r(array_splice($stu11,1,3,[777,888,999]));//Array ( [0] => 25 [1] => 9 [2] => 33 )echo '<br>';print_r($stu11 );echo '<hr>';//新增$stu12 = ['张','福','根'];array_splice($stu12,-1,3,array('在','家','里'));print_r($stu12);echo '<hr>';// 11、extract() 将关联数组拆分成变量// 使用数组键名作为变量名,使用数组键值作为变量值。针对数组中的每个元素,将在当前符号表中创建对应的一个变量。$config = ['type'=>'mysql','host'=>'localhost','dbname'=>'phpedu','charset'=>'utf=8'];echo (extract($config));//4echo '<br>';echo $type, $host, $dbname, $charset;echo '<hr>';// 12、compact()创建一个包含变量名和它们的值的数组:$id = 20201125;$username = 'fugen';$gender = "man";$info = (compact('id','username','gender'));print_r($info);echo '<hr>';// 三、栈与队列// 栈:是一种特殊的线性表,是添加与删除受限的一种数据结构 LIFO,只能在固定的一端进行数据的添加与删除 last in first out$footer = [1,2];// array_push()在栈的尾部进行-增加array_push($footer,10,20,30);print_r($footer);//Array ( [0] => 1 [1] => 2 [2] => 10 [3] => 20 [4] => 30 )echo '<br>';// array_pop()在栈的尾部进行-删除echo array_pop($footer);//30echo '<br>';print_r($footer);//Array ( [0] => 1 [1] => 2 [2] => 10 [3] => 20 )echo '<hr>';$header = [1,2];// array_unshift()在栈的头部进行数据-增加echo array_unshift($header,'fu','gen');//4echo '<br>';print_r($header);//Array ( [0] => fu [1] => gen [2] => 1 [3] => 2 )echo '<hr>';// array_shift()在栈的头部进行数据-删除echo array_shift($header);//fuecho '<br>';echo array_shift($header);//fuecho '<br>';print_r($header);//Array ( [0] => 1 [1] => 2 )echo '<hr>';// 队列:FIFO queue数据结构之一,特殊的线性表,受到操作的限制$queue = ['我','们'];//尾部进队+头部出队 array_push + array_shiftarray_push($queue,'心','中','家');print_r($queue);//Array ( [0] => 我 [1] => 们 [2] => 心 [3] => 中 [4] => 家 )echo '<br>';echo array_shift($queue);//我echo '<br>';print_r($queue);//Array ( [0] => 们 [1] => 心 [2] => 中 [3] => 家 )echo '<hr>';// 头部进队+尾部出队 array_unshift + array_pop$queue1 = ['wo','men'];array_unshift($queue1,'one','two');//Array ( [0] => one [1] => two [2] => wo [3] => men )print_r($queue1);echo '<br>';echo array_pop($queue1);//men
1、key() 函数返回数组内部指针当前指向元素的键名
2、array_keys()返回数组,数组成员是原数组的键名
3、array_values()返回数组中所有的值(不保留键名),键值从0到1 递增
4、in_array()检测一个成员在不在指定的数组中,存在返回true 不存在返回false
5、array_search() 不存在返回false,存在的话返回元素值对应的键名
6、array_unique() 移除数组中重复的值
7、array_sum() 返回数组中所有成员的和
8、array_product() 返回数组中所有成员相乘的结果
9、array_slice 从数组中去除一部分元素
10、array_splice() 删除,替换,新增三个功能,函数从数组中移除选定的元素,并用新元素取代它。
11、extract() 将关联数组拆分成变量,使用数组键名作为变量名,使用数组键值作为变量值。
12、compact()创建一个包含变量名和它们的值的数组:
栈:是一种特殊的线性表,是添加与删除受限的一种数据结构 LIFO,只能在固定的一端进行数据的添加与删除 last in first out
- array_push()在栈的尾部进行-增加
- array_pop()在栈的尾部进行-删除
- array_unshift()在栈的头部进行数据-增加
- array_shift()在栈的头部进行数据-删除
队列:FIFO queue数据结构之一,特殊的线性表,受到操作的限制
- 尾部进队+头部出队 array_push + array_shift
- 头部进队+尾部出队 array_unshift + array_pop
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号