php函数从数组中取出指定的数目,PHP数组函数

1.array_rand()从数组中随机取出一个或多个元素(返回值是:随机元素的键)$arr=['js','css',25,'php',30];

printf('

%s
',print_r($arr,true));

//随机去2个元素

$res=array_rand($arr,2);

printf('

%s
',print_r($res,true));

f1bb762c28d39b16ed75dea09128cf52.png

2.array_replace()使用后面数组元素相同 key 的值替换 array1 数组的值。//如果数组1 和 数组2/多个数组中,出现同一个键,那么数组1的值将被数组2/最后出现的数组替换。

$arr=['id'=>201,'name'=>'皮皮虾','age'=>20];

$arr1=['id'=>301];

//如果一个键存在于数组2/后面数组中,但是不存在数组1,则会在数组1中创建这个元素。

$arr2=['id'=>401,'QQ'=>'258'];

$res=array_replace($arr,$arr1,$arr2);

printf('

%s
',print_r($arr,true));

printf('

%s
',print_r($res,true));

f79b12f38c1f1c44178d7c6cecb23eaa.png

3.array_intersect() 计算数组的交集$arr=[1,10,'php','css',25];

$arr1=[8,'js',25,'php'];

$res=array_intersect($arr,$arr1);

printf('

%s
',print_r($res,true));

660f6c17f73611f327f51e0420a49b87.png

4.array_intersect_assoc()返回数组交集,键名也做比较$arr1=['id'=>102,'name'=>'苹果','money'=>100,'橘子'];

$arr2=['id'=>103,'name'=>'香蕉','money'=>100,'西瓜','橘子'];

printf('

%s

',print_r($arr1,true));

printf('

%s

',print_r($arr2,true));

$res=array_intersect_assoc($arr1,$arr2);

printf('

%s
',print_r($res,true));

866ca825e891ba3aec2b5e781719ef91.png

5.array_diff() 返回数组的差集$arr1=['id'=>102,'name'=>'苹果','money'=>100,'橘子','西瓜'];

$arr2=['id'=>103,'name'=>'香蕉','money'=>100,'西瓜'];

printf('数组1:

%s

',print_r($arr1,true));

printf('数组2:

%s

',print_r($arr2,true));

$res=array_diff($arr1,$arr2);

printf('数组1和2的差集:

%s
',print_r($res,true));

cf60e58c288641f0df63caa50f0e32e1.png

6.array_diff_assoc() 返回数组差集,键名也做比较$arr1=['id'=>102,'name'=>'苹果','money'=>100,'橘子','西瓜'];

$arr2=['id'=>103,'name'=>'香蕉','money'=>100,'西瓜'];

printf('数组1:

%s

',print_r($arr1,true));

printf('数组2:

%s

',print_r($arr2,true));

$res=array_diff_assoc($arr1,$arr2);

printf('数组1和2的差集:

%s
',print_r($res,true));

4c322512ac209cc4da8f4078fb90f3f7.png

7.array_chunk() 将一个数组分割成多个子数组参数:array_chunk( $array, $size ,$preserve_keys)$array:需要分割的数组$size :分割为几个数组$preserve_keys :默认false,为true时保留数组中原来的键名$input_array=array('a','b','c','d','e');

$res=array_chunk($input_array,2);

printf('

%s
',print_r($res,true));

echo'


';

$res=array_chunk($input_array,2,true);

printf('

%s
',print_r($res,true));

c4abe805c7f94e5b5b26ded7d575e3e2.png

8.array_key_exists() 检查数组里是否有指定的键名或索引参数:array_key_exists( $key, $array):bool返回值 :成功时返回true,失败时返回false。注意:array_key_exists()仅仅搜索第一维的键。多维数组里嵌套的键不会被搜索到。$arr=['id'=>102,'name'=>'小猪','like'=>null];

echo array_key_exists('name',$arr)?'true':'false';//返回true

echo'


';

// isset() 对于数组中为 NULL 的值不会返回 TRUE,而 array_key_exists() 会。

echo isset($arr['like'])?'true':'false';//返回 false

echo'


';

echo array_key_exists('like',$arr)?'true':'false';//返回 true

9.in_array() 检查数组中是否存在某个值$arr=[102,'XiaoZhu','摄影','100'];

echo in_array(102,$arr)?'true':'false','
';//返回true

// 如果第三个参数为true 则 还会检查类型是否相同。

echo in_array(100,$arr)?'true':'false','
';//返回true

echo in_array(100,$arr,true)?'true':'false','
';// 返回false

//字符串,区分大小写

echo in_array('xiaoZhu',$arr)?'true':'false','
';//返回false

10array_search() 搜索指定的值,返回键名$arr=['blue','red','green','red'];

printf('

%s
',print_r($arr,true));

// 搜索的值是字符串,则比较以区分大小写的方式进行。

echo $res=array_search('green',$arr),'
';//返回 2

// 搜索的值出现多次,则返回第一个匹配的键。

echo $res=array_search('red',$arr);//返回1

11.array_filter() 用回调函数过滤数组中的值,返回的是一个新数组语法:array_filter(数组,回调函数);将数组中的每个元素依次传入回调函数中,若回调函数返回/的是true,则该元素将会被保存在一个新的数组中,并且索引保持不变$arr=[5,8,10,15,14,11,6,24];

$res=array_filter($arr,function($var){

//获取数组中的偶数返回

return$var=(!($var%2));

});

printf('

%s
',print_r($res,true));

0c467a547f5bcb8f203064d28bc15dd2.png

12.array_map()定义:返回的是新数组,原数组不变。作用:是每次传入一个元素到回调函数内,把回调函数的返回值存入到新数组内,可以多个数组同时传入。新数组和原数组的数组长度应该一样。语法:array_map( func, array1,[array2…])$arr=['星期一','星期二','星期三','星期四','星期五','星期六','星期天'];

$arr1=['上班','上班','上班','休息','上班','休息','上班'];

// shuffle()随机打乱数组顺序

$res1=shuffle($arr1);

$arr=array_map(function($a,$b)

{

return''.'今天是:'.$a.'要'.$b.'了'.'';

},$arr,$arr1);

printf('

%s
',print_r($arr,true));

6eee19a7df06fd614e5c5f3b37d0a538.png

13.array_slice()和array_splice()很相似。一个用于从数组中取值,可理解为查询。一个用于对数组进行增删改。

array_slice($array, $offset, $length, $preserve_key) 第一个表示数组,第二个参数表示从数组的索引开始取值,可以是负值,负值表示倒数几个元素。第三个参数表示取值长度,正值表示长度,负值表示到倒数几个元素(不包括该元素)。第四个参数表示保持键名不变(索引数组有用)。$arr=[101,'张三',15,'zs@163.cn','134***','摄影'];

//起始从索引2开始

printf('

%s
',print_r(array_slice($arr,2),true));

33685683dfe0c01be3469f302802c1b5.png

$arr=[101,'张三',15,'zs@163.cn','134***','摄影'];

//起始从索引2开始,截止到索引-2结束(不包括索引-2的数据)

printf('

%s
',print_r(array_slice($arr,2,-2),true));

79828dcbc3a083f9ab0e83e89335653a.png

array_splice($array, $offset, $length, $replace_arr).前三个参数与array_slice()意义一样。第四个参数表示替换的数组元素,如果数组元素只有一个值,可以用字符串代替。$arr=[101,'张三',15,'zs@163.cn','134***','摄影'];

printf('原数组元素:

%s

',print_r($arr,true));

//删除元素

$res=array_splice($arr,3,2);

printf('删除的元素:

%s
',print_r($res,true));

214b8c9c221ffcb89ce569dfcece325a.png

//替换元素

$res=array_splice($arr,3,2,['zs@qq.cn','158***']);

printf('替换的元素:

%s
',print_r($arr,true));

// $res= array_splice($arr, -4,-2,['zs@qq.cn']);

// printf('替换的元素:

%s
',print_r($arr,true));

// 增加元素

$res=array_splice($arr,1,0,['php','js']);

printf('增加的元素:

%s
',print_r($arr,true));

139c776bfa78b7a8f0545dc75d4d430a.png

总结:对回调函数还是理解模糊,尤其array_reduce()和array_walk()还没弄明白。多回看下视频,理解后再补交吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/266392.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

存储过程 not supported yet_让我们来看看+Redis如何存储和计算一亿用户的活跃度

1前段时间,在网上看到一道面试题:如何用redis存储统计1亿用户一年的登陆情况,并快速检索任意时间窗口内的活跃用户数量。觉得很有意思,就仔细想了下 。并做了一系列实验,自己模拟了下 。还是有点收获的,现整…

HBase查询优化

1.概述 HBase是一个实时的非关系型数据库,用来存储海量数据。但是,在实际使用场景中,在使用HBase API查询HBase中的数据时,有时会发现数据查询会很慢。本篇博客将从客户端优化和服务端优化两个方面来介绍,如何提高查询…

全国计算机等级考试题库二级C操作题100套(第49套)

第49套: 给定程序中,函数fun的功能是:将形参s所指字符串中所有ASCII码值小于97 的字符存入形参t所指字符数组中,形成一个新串,并统计出符合条件的字符个数 作为函数值返回。 例如,形参s所指的字符串为&…

NEC SV8100电话交换机配置梓博电话计费系统

为了节约办公成本,规范电话使用。公司最近为NEC SV8100电话交换机系统上线了一套梓博的电话计费系统。先将配置过程分享给各位。 1、登录电话交换机系统(默认用户名tech、密码12345678) 2、点击系统数据配置按钮 2、通过10-01选项调整电话交换…

判断闰年 php,PHP怎么判断一年是否为闰年?

判断是否为闰年的条件是满足下列二者条件之一:年号能被4整除、但不能被100整除,二是年号能被4整除,又能被400整除。那么PHP怎么判断一年是否为闰年?下面本篇文章就来给大家介绍一下使用PHP判断一年是否为闰年的方法,希…

redis desktop manager_面试官:Redis分布式锁如何解决锁超时问题?

Java面试笔试面经、Java技术每天学习一点Java面试关注不迷路作者:wangzaiplus来源:https://www.jianshu.com/u/8cb4591440ca一、前言关于redis分布式锁, 查了很多资料, 发现很多只是实现了最基础的功能, 但是, 并没有解决当锁已超时而业务逻辑还未执行完…

全国计算机等级考试题库二级C操作题100套(第50套)

第50套: 给定程序中,函数fun的功能是:有NN矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。例如,若N3,有下列矩阵: 1 2 3 4 5 6 7 8 9 计算…

《CLR via C#》读书笔记 之 参数

第九章 参数 2013-02-27 9.3 以传引用的方式向方法传递参数 默认情况下,CLR假定所有方法参数都是传值的。当传递引用类型的对象时,也默认是传值的,只不过这个值是引用(指针)本身。 CLR允许以传引用的方式传递参数。在C…

学习笔记整理之模式化方法

第一步 要分清要用那个不变的参数去实现 (比如我现在要用 ID进行验证 则,验证完毕后实现的抽象方法的参数是 操作数,所以操作 的方法的参数是操作数)先new 个要实现的方法比如 New StudentManger(id,name) 此方法要把继承的抽象的…

php组合查询,PHP组合查询多条件查询实例代码第1/2页

先向大家说明需求:按照我们系统的要求,我们将通过部门名称、员工姓名、PC名称、IP地址等等字段来进行组合查询从而得到想要的数据结果。那么,为了简单起见,我们用两个条件(部门名称、员工姓名)的组合查询来向大家说明这一技术技巧…

python print 换行_Python学习 | Python的基础语法

Python 语言与 Perl,C 和 Java 等语言有许多相似之处。但是,也存在一些差异,编写Paython程序之前需要对语法有所了解,才能编写规范的Python程序。一、行和缩进Python最大的特点之一就是Python 的代码块不使用大括号 {}了&#xff…

解决linux下source /etc/profile关闭终端失效问题

本来想配置环境变量的,看网上和博客上很多说改/etc/profile,然后source /etc/profile之后就可以永久保存使环境变量生效,但是终端一关闭,就环境变量就失效了,其他终端也用不了。网上有说在当前用户目录下创建.bash_pro…

bind php,PHP – bind_result到数组

我正在为一个返回多个结果的查询使用一个预准备语句,我想在一个数组中使用它.但是bind_result不能用于数组,所以我就是这样做的:$read_items $db->stmt_init();$read_items->prepare("SELECT item_id, item_name FROM items");$read_items->exe…

SQL Server遍历表中记录的2种方法

SQL Server遍历表一般都要用到游标,SQL Server中可以很容易的用游标实现循环,实现SQL Server遍历表中记录。本文将介绍利用使用表变量和游标实现数据库中表的遍历。 表变量来实现表的遍历 以下代码中,代码块之间的差异已经用灰色的背景标记。…

全国计算机等级考试题库二级C操作题100套(第51套)

第51套: 给定程序中,函数fun的功能是:计算出形参s所指字符串中包含的单词个数, 作为函数值返回。为便于统计,规定各单词之间用空格隔开。 例如,形参s所指的字符串为:This is a C language program.&#x…

python 创建文件_Python入学首次项目,新手必看,简单易操作

继昨天文章python软件pycharm安装教程之后,今天则给新手小白们分享一哈,怎么制作并创建文件。print “hello world”;如后期需要资料文件的则可以私信留言,领取首次项目资料。本节知识点:python项目的创建pycharm的使用…

php柱形图 数据sql,ThinkPHP 5.1 读取数据库中的图片

如果一个图片直接存在数据库中,可以用以下方法读出来。环境ThinkPHP 5.1 ,sqlsrv,pdo_sqlsrv代码//pdo 方式$pdonew PDO(sqlsrv:Serverlocalhost;DatabaseSD31022_Sample, sa, Sql2008);$stmt$pdo->prepare(select picture from crm_affixinfo where …

Babelfish

题目描述 You have just moved from Waterloo to a big city. The people here speak an incomprehensible dialect of a foreign language. Fortunately, you have a dictionary to help you understand them.输入 Input consists of up to 100,000 dictionary entries, follo…

ajax跨域实现

2019独角兽企业重金招聘Python工程师标准>>> 我们都知道ajax是不能跨域的,那么怎么实现ajax跨域呢? 看了看jquery,当然,jquery封装的很好,$.ajax就可以实现跨域,只需要在参数中配置一下即可&am…

全国计算机等级考试题库二级C操作题100套(第52套)

第52套: 给定程序中,函数fun的功能是:将NN矩阵中元素的值按列右移1个位置, 右边被移出矩阵的元素绕回左边。例如,N3,有下列矩阵 1 2 3 4 5 6 7 8 9 计算结果为 3 1 2 6 4 5 9 7 8 请在程序的下划线处填入正…