004——数组(四)array_search() array_change_key_case() array_chunk() array_combine() array_diff() array_diff_key() array_diff_assoc
<?php
/**
* in_array() 判断一个内容是否在数组中:
*/ /*$arr=array(1,2,3,4,5);
if (in_array('1',$arr,TRUE)){ //第三个参数进行严格判断。
echo "值存在于数组中";
}else{
echo "不存在";
}*/ /*array_search() 查找内容是否为数组的键值,存在返回键名,不存在返回假。
* */
/*$arr2=array('php','java','html','css');
echo array_search('java',$arr2);//输出:1,java的键名
var_dump(array_search('javass',$arr2));//输出:false,不存在,返回false*/ /*array_change_key_case() 更改数组键名的大小写
* */
function dump($arr){
// echo '<pre>';
print_r($arr);
}
/*$arr=array('phpKey'=>'php','javakey'=>'java','Htmlkey'=>'html','csskey'=>'css');
$arr1=array_change_key_case($arr);
dump($arr1);//输出:Array ( [phpkey] => php [javakey] => java [htmlkey] => html [csskey] => css ) 默认键名是小写 $arr2=array_change_key_case($arr,CASE_UPPER);
dump($arr2);//输出:Array ( [PHPKEY] => php [JAVAKEY] => java [HTMLKEY] => html [CSSKEY] => css )*/ /*array_chunk() 把数组进行拆分。第三个参数,可以保留原数组的键名。不然的话就会变成索引型数组
* */
/*$arr=array('phpKey'=>'php','javakey'=>'java','Htmlkey'=>'html','csskey'=>'css','mysqlKey'=>'mysql');
$arr0=array_chunk($arr,3,true);//输出:Array ( [0] => Array ( [phpKey] => php [javakey] => java [Htmlkey] => html ) [1] => Array ( [csskey] => css [mysqlKey] => mysql ) )
dump($arr0);*/ /*array_combine() 生成新数组。第一个数组的元素是键名,第二个数组的元素是值。
如果数组的元素不是一一对应,就会报错
* */
/*$arr1=array('phpKey','javakey','Htmlkey','csskey','mysqlKey');
$arr2=array('php','java','html','css','mysql');
$arr3=array_combine($arr1,$arr2);
dump($arr3);*/ /*$arr1=array('phpKey','javakey','Htmlkey','csskey','mysqlKey','c++Key');
$arr2=array('php','java','html','css','mysql');
$arr3=@array_combine($arr1,$arr2);
var_dump($arr3);//输出:false*/ /*array_diff() 返回在其他数组中不存在的键值
* */
/*$arr1=array('blog.com','bbs.blog.com','web.blog.com');
$arr2=array('sina.com','bbs.blog.com','web.blog.com');
$arr3=array_diff($arr2,$arr1);
dump($arr3);//输出:Array ( [0] => sina.com )*/ /*$arr2=array('sina.com','bbs.blog.com','web.blog.com');
$arr1=array('blog.com','bbs.blog.com','web.blog.com');
$arr3=array('sina.com');
$arr0=array_diff($arr2,$arr1,$arr3);//查找一个数组在另外一个或多个数组中是否有不存在的值,有的话,返回不同值
dump($arr0);//输出:Array ( )*/ /*array_diff_key() 返回在其他数组中不存在的键名。
键名不同的地方,返回不同的键值对。如果都一样,返回空
* */
/*$arr1=array('phpKey'=>'php','javakey'=>'java');
$arr2=array('WebphpKey'=>'php','javakey'=>'java');
$arr0=array_diff_key($arr1,$arr2);//输出:Array ( [phpKey] => php )
dump($arr0);*/ /*array_diff_assoc() 对键名和键值都会进行比较。不同的进行返回
*
* */
$arr1=array('phpKey'=>'php11111','javakey'=>'java');
$arr2=array('phpKey'=>'php','javakey'=>'java');
$arr0=array_diff_assoc($arr1,$arr2);//输出:Array ( [phpKey] => php )
dump($arr0);
004——数组(四)array_search() array_change_key_case() array_chunk() array_combine() array_diff() array_diff_key() array_diff_assoc的更多相关文章
- php 算法之切割数组,不用array_chunk(),算法之二,取数组的差值,不用array_diff()
用php写算法切割数组,不用array_chunk();算法例如以下所看到的. <?php //$array 数组 //$size 每一个数组的个数 //每一个数组元素是否默认键值 functi ...
- hiho一下123周 后缀数组四·重复旋律
后缀数组四·重复旋律4 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi平时的一大兴趣爱好就是演奏钢琴.我们知道一个音乐旋律被表示为长度为 N 的数构成的数列.小Hi ...
- hihocoder #1419 : 后缀数组四·重复旋律4
#1419 : 后缀数组四·重复旋律4 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi平时的一大兴趣爱好就是演奏钢琴.我们知道一个音乐旋律被表示为长度为 N 的数构 ...
- php中的常用数组函数(一)(比较多个数组的差集的函数们 array_diff_assoc() array_diff() array_diff_key() array_diff_ukey() array_diff_uassoc())
array_diff_assoc($arr1, $arr2, $arr3,... n); 返回:一个$arr1的副本,后续的数组中出现一个键值相同的元素,就在副本中删掉这个元素,最后返回这个副本. 如 ...
- C语言学习004:数组与指针
在C语言中,字符串实际上就是字符数组,在内存中字符串"Shatner"存储的形式是这样的
- hihocoder-1419 后缀数组四·重复旋律4 求连续重复次数最多的子串
对于重复次数,如果确定了重复子串的长度len,那重复次数k=lcp(start,start+len)/len+1.而暴力枚举start和len的复杂度是O(n^2),不能接受.而有一个规律,若我们只枚 ...
- C语言学习笔记 (004) - 数组名和数组首地址(转)
一个变量有地址,一个数组包含若干元素,每个数组元素都在内存中占用存储单元,它们都有相应的地址.指针变量既然可以指向变量,当然也可以指向数组和数组元素(把数据起始地址或某一元素的地址放到一个指针变量中) ...
- 🧚♂️全套Java教程_Java基础入门教程,零基础小白自学Java必备教程👨💻004 # 第四单元 流程控制语句上 #
一.本单元知识点概述 二.本单元目标 (Ⅰ)重点知识目标 1.if语句的格式及执行流程2.switch语句的格式及执行流程 (Ⅱ)能力目标 1.掌握if语句的格式及执行流程2.掌握switch语句的格 ...
- HiHocoder1419 : 后缀数组四·重复旋律4&[SPOJ]REPEATS:Repeats
题面 Hihocoder Vjudge Sol 题目的提示说的也非常好 我对求\(LCP(P - L + len \% l, P + len \% L)\)做补充 \(len=LCP(P, P + L ...
随机推荐
- js的同步异步
由于js没有多线程,所以处理多任务的时候,可以用异步回调来解决.js中setTimeout.setInterval.ajax(jq中可以选择同步或异步)均会开启异步.遇到异步模块,会将其推入值任务队列 ...
- XVII Open Cup named after E.V. Pankratiev Stage 14, Grand Prix of Tatarstan, Sunday, April 2, 2017 Problem D. Clones and Treasures
题目:Problem D. Clones and TreasuresInput file: standard inputOutput file: standard outputTime limit: ...
- ACM-ICPC 2018 沈阳赛区网络预赛 G. Spare Tire (容斥原理)
可推出$a_n = n^2+n, $ 设\(S_n = \sum_{i=1}^{n} a_i\) 则 \(S_n = \frac{n(n+1)(2n+1)}{6} + \frac{n(n+1)}{2} ...
- SSH的加入顺序*(转)
首先创建一个 New => Web Project 起名 demo 然后在项目名称上 点击鼠标右键 选择 MyEclipse => Add Speing Capabilites... ...
- MongoDB使用中的一些问题
1.count统计结果错误 这是由于分布式集群正在迁移数据,它导致count结果值错误,需要使用aggregate pipeline来得到正确统计结果,例如: db.collection.aggreg ...
- 【Python】高阶函数
filter def is_palindrome(n): L = str(n) i = 0 j = len(L) - 1 while i != j: if L[i] != L[j]: return F ...
- PHP(Mysql/Redis)消息队列的介绍及应用场景案例
在进行网站设计的时候,有时候会遇到给用户大量发送短信,或者订单系统有大量的日志需要记录,还有做秒杀设计的时候,服务器无法承受这种瞬间的压力,无法正常处理,咱们怎么才能保证系统正常有效的运行呢?这时候我 ...
- 一个url加载的全过程
最近在进行前端面试方面的一些准备,遇到了一个经典前端问题,一个url从输入到页面加载中间到底发生了什么,以前也认真想过这个问题,但是当时回答的都不全面,现在来好好总结一下: 总体来说分为以下六个步骤: ...
- Android中C可执行程序编译问题
make:进入目录'/opt/FriendlyARM/tiny4412/android/android-4.1.2'make: *** 没有规则可以创建“out/target/product/gene ...
- 学Git,用Git ③
不知道我前面是否将git讲清楚了,这里再稍微总结一下git的一个重要功能用法,同时增加两个很实用的git使用技巧. 1.git"读档"与git"回退" 我发现我 ...