* 函数主要要搞清楚以下几点?
* 1. 功能:能做什么?
* 2. 场景: 用在哪里?
* 3. 参数: 必选与可选的
* 4. 返回值: 类型与数量
* 一、键与值的操作(6个)
* 1. in_array(value, array): val是否在array中,返回布尔值
* 2. array_key_exists(key,array):key是否在array中,返回布尔值
* 3. array_values(array): 以索引方式返回array值部分
* 4. array_keys(array[,value]): 以索引方式返回array键部分,还可返回指定值的键
* 5. array_search(value, array): 以字符串方式返回指定值的键
* 6. array_filp(array):键值对调
* 二、数组内部指针(巡航)操作(8个)
* 1. key(array):返回当前元素的键
* 2. current(array):当前元素的值,pos()为同名函数
* 3. next(array):指针下移,指向下一个元素,返回当前值
* 4. reset(array):指针复位,指向第一个元素,并返回它的值
* 5. end(array):指针移动最后一个元素上
* 6. prev(array):指针向前移动一位,并返回当前元素的值
* 7. each(array):返回当前元素的键值的索引与关联描述的数组,并自动下移指针
* 8. list($a,$b,...):将索引数组中的值,赋值给一组变量
echo '<pre class="brush:php;toolbar:false">'; $user = ['id'=>5,'name'=>'peter','gender'=>'male','age'=>30]; print_r($user); //查看数组 echo '<hr color="red">';
//一.数组中的键与值的常用操作函数
//1. in_array(value, array): val是否在array中,返回布尔值
echo in_array('Peter Zhu',$user) ? '存在<br>' : '不存在<br>';
//2. array_key_exists(key,array):key是否在array中,返回布尔值
echo array_key_exists('name',$user) ? '存在<br>' : '不存在<br>';
//3.array_values(array): 以索引方式返回array值部分
print_r(array_values($user));
//4.array_keys(array[,value]): 以索引方式返回array键部分
print_r(array_keys($user));
//4-1.array_keys(array[,value]): 以索引方式返回array键部分,还可返回指定值的键
print_r(array_keys($user,'male'));
//5. array_search(value, array): 以字符串方式返回指定值的键
print_r(array_search('peter', $user));
//6. array_filp(array):键值对调
print_r(array_flip($user));
// 二、数组内部指针(巡航)操作
//count(array)当前数组的元素数量
echo count($user),'<br>';
//当前指针位指向第一个元素
//1.key(array):返回当前元素的键
echo key($user),'<br>';
//2.current(array):当前元素的值,pos()为同名函数
echo current($user), '<br>';
//3.next(array):指针下移,指向下一个元素
next($user);
//查看当前元素的键值
echo key($user),'<br>'; echo current($user), '<br>';
//next(array)除将指针下移外,还可以返回当前元素的值
var_dump(next($user)); echo key($user),'<br>'; echo current($user), '<br>';
//继续向下遍历,发现next(array)返回false,说明遍历结束
var_dump(next($user));
//已到结尾无数据,不会再有输出
echo key($user),'<br>'; echo current($user), '<br>';
//4.reset(array):指针复位,指向第一个元素,并返回它的值
reset($user);
//除复位外,还可返回第一个元素的值
// var_dump(reset($user));
echo key($user),'<br>'; echo current($user), '
';
//5. end(array):指针移动最后一个元素上
end($user);
// var_dump(end($user)); //也能返回当前元素的值
echo key($user),'<br>'; echo current($user), '
';
//6. prev(array):指针向前移动一位,并返回当前元素的值
prev($user); echo key($user),'<br>'; echo current($user), '
';
//7. each(array):返回当前元素的键值的索引与关联描述的数组,并自动下移指针
* 返回四个元素的数组:
* 2个索引元素, [0]是键,[1]是值
* 2个关联元素, [key]是键, [value]是值
@print_r(each($user));
//注意:因执行效率的问题,这个函数在php7中已经废弃
//8. list($a,$b,...):将索引数组中的值,赋值给一组变量
reset($user); //复位指针
* 执行的操作:
* 1.each($user): 获取当前元素的索引部分
* 2.list($key, $value): [0]的值赋给变量$key, [1]的值赋给变量$value
* 3.数组$user指针自动下移
list($key, $value) = each($user); echo $key,'=>'.$value,'<br>';
//重复调用
list($key, $value) = each($user); echo $key,'=>'.$value,'<br>';
//非常适合用循环来实现
echo '<hr color="blue">'; reset($user); while(list($key, $value) = each($user)) { echo $key,'=>'.$value,'<br>'; }

求和方法:1、用array_column()获取多维数组中指定一列的全部元素,语法“rray_column(数组, '指定列名')”,会返回一个包含全部元素的结果数组;2、用“array_sum(结果数组)”计算结果数组中所有元素的和即可。

增加元素的方法:1、使用array_push()函数,语法“array_push(二维数组,值1,值2...);”;2、使用array_splice()函数,语法“array_splice(二维数组,count(二维数组),0,元素值)”。

获取方法:1、用“array_values(数组)”将指定数组转为索引数组;2、用“array_search(数值,索引数组)”,在索引数组中搜索数值,返回对应的索引值(下标);3、用“索引值+1”语句获取元素在数组中的位置值。

方法:1、循环遍历数组,语法“foreach($arr as $k=>$v){}”;2、循环体中,用“==”判断元素值是否为null,如果是则用unset()删除该元素,语法“if($v==null){unset($arr[$k]);}”。

php中只比较值的数组交集函数是“array_intersect()”;该函数用于比较两个(或更多个)数组的键值,语法“array_intersect(数组1,数组2...)”,会返回一个交集数组,所包含的值是从被比较的数组(数组1)中取。

去掉方法:1、用“sort($arr)”对数组进行升序排序,排序后该数组的第一个元素就是最小值,最后一个元素就是最大值;2、用“array_pop($arr)”删除最后一个元素,用“array_shift($arr)”删除第一个元素即可。

php中可用preg_match_all()配合正则表达式过滤字符串,只获取中文字符;语法“preg_match_all("/[\x{4e00}-\x{9fff}]+/u","$str",$arr);”,会将匹配字符存入“$arr”数组中。

比较步骤:1、使用“array_diff_assoc($arr1,$arr2)”语句比较两个数组的键名和键值,返回一个差集数组;2、用“差集数组==[]”语句判断差集数组是否为空数组,如果是空数组,则表示进行比较的两个数组相等,反之不相等。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3汉化版
中文版,非常好用

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

记事本++7.3.1
好用且免费的代码编辑器

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),