php常用数组函数回顾一
数组对于程序开发来说是一个必不可少的工具,我根据网上的常用数组函数,结合个人的使用情况,进行数组系列的总结复习。里面当然不只是数组的基本用法,还有相似函数的不同用法的简单实例,力求用最简单的实例,记住掌握常用数组函数。
回顾一:数组操作的基本函数
数组的键名和值(函数列表)
array_values($arr); 获得数组的值
array_keys($arr); 获得数组的键名
array_flip($arr); 数组中的值与键名互换(如果有重复前面的会被后面的覆盖)
in_array("apple",$arr); 在数组中检索apple
array_search("apple",$arr); 在数组中检索apple ,如果存在返回键名
array_key_exists("apple",$arr); 检索给定的键名是否存在数组中
isset($arr[apple]): 检索给定的键名是否存在数组中
下面是函数的细节代码
1.array_flip()键值互换函数。
注意点:键值重复后面的覆盖前面的
/* array_flip(数组)键值互换(重复替换)
* Array ( [张三] => nickname [23] => age );//结果只剩下两个
*/
$arr = array('name'=>'张三','age'=>'23','nickname'=>'张三');
$new = array_flip($arr);//实现将数组键 和 值 互换,假若有键值重复的,就覆盖掉前面的
print_r($new);
2.in_array('要搜索的值或者数组',数组);检测某个值或者数组是否在数组中
/*in_array('要搜索的值或者数组',数组);
*检测某个值或者数组是否在数组中
*/
$arr = array('name'=>'张三','age'=>'23','nickname'=>'张三');
if(in_array('张三',$arr)){
echo 'got 张三';
}//got 张三
if(in_array(array('1','2'),$arr)){
echo 'got this array';
}//got this array
3.array_search();与array_keys()的区别
/*
*array_search()与array_keys()搜索某个值在数组中的键名的区别
*/
$arr = array('name'=>'张三','age'=>'23','nickname'=>'张三');
$res = array_search("张三",$arr);//只返回第一次匹配到的键值的名字
$res_array = array_keys($arr,'张三');//返回匹配到的所有键值的名字
print_r($res);//name
print_r($res_array); //返回结果集
4.isset()和array_key_exists()查询 某个键值在数组中 是否存在
/*
*isset()和array_key_exists()都可以,但是isset搜索到键值存在时,假若说只是null则返回false,
*也就是没有搜索到键值
*/ $search_array = array( 'first' => null , 'second' => 4);
$res = isset($search_array ['first']);//returns false
$res1 = array_key_exists ('first',$search_array);//returns true
if($res == true){
echo "use function isset() return true"."<br/>";
}else{
echo 'use function isset() return false'."<br/>";
}
if($res1 == true){
echo 'use function array_key_exists() return true'."<br/>";
}else{
echo 'use function array_key_exists() return false'."<br/>";
}
注意点:
/*
*isset()当里面有多个值的时候,假若有一个不存在则会返回false*,
*当值是null的时候也是返回false
$a = "test" ; $b = "anothertest" ; var_dump (isset( $a )); // TRUE
var_dump (isset( $a , $b )); // TRUE unset ( $a );
var_dump (isset( $a , $b )); // FALSE $foo = NULL ;
var_dump (isset( $foo )); // FALSE
*/
php常用数组函数回顾一的更多相关文章
- PHP常用数组函数
一.数组操作的基本函数 数组的键名和值 array_values($arr); 获得数组的值 array_keys($arr); 获得数组的键名 array_flip($arr); 数组中的 ...
- php常用数组函数小结
count函数 作用:计算数组中元素的个数或对象的属性个数 返回值: 数组或者对象, 返回数组的单元个数或者对象的属性个数 Null,返回0 非数组,也非NULL,通通返回1 <?php $ar ...
- PHP常用数组函数介绍
array_splice() 删除数组中的指定元 array_splice(数组名,从前往后删的个数,new一个数组的大小);没有第三参数也就没有返数组,没有第三个参数时,第二个参数的意义为从前往后保 ...
- php中的常用数组函数(八) 排序函数汇总(sort、rsort、usort、asort、uasort、arsort、ksort、uksort、krsort、natsort、natcasesort、array_multisort)
测试环境:php5.3.29 sort_flags 可以用以下值改变排序的行为: 排序类型标记: SORT_REGULAR - 正常比较单元(不改变类型) SORT_NUMERIC - 单元被作为数字 ...
- php中的常用数组函数(七) 数组合并 array_merge()和array_merge_recursive()
$arr1 = array(1, 2, 3, 4, 'color'=>'red'); $arr2 = array('a', 'b', 'c', 'color'=>'blue'); prin ...
- php中的常用数组函数(三)(获取数组交集的函数们 array_intersect()、array_intersect_key()、array_intersect_assoc()、array_intersect_uassoc()、array_intersect_ukey())
这5个获取交集的函数 有 5个对应的获取差集的函数.我是链接. array_intersect($arr1, $arr2); //获得数组同键值的交集 array_intersect_key($arr ...
- php中的常用数组函数(二)(数组元素过滤 array_filter())
array_filter($arr, 'filter_func'); //参数1,要过滤的数组 //参数2,过滤的函数,返回false时,不添加这个元素,返回true添加这个元素. 示例代码: /** ...
- php中的常用数组函数(一)(比较多个数组的差集的函数们 array_diff_assoc() array_diff() array_diff_key() array_diff_ukey() array_diff_uassoc())
array_diff_assoc($arr1, $arr2, $arr3,... n); 返回:一个$arr1的副本,后续的数组中出现一个键值相同的元素,就在副本中删掉这个元素,最后返回这个副本. 如 ...
- JavaScript 常用数组函数方法专题
1. 由字符串生成数组 split() 分割字符串,并将分割的部分作为一个元素保存在一个新建的数组中. var str1 = "this is an emample to using the ...
随机推荐
- test hypertext links for validity, accessibility, and recent modification
https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html The HEAD method is identical to GET except th ...
- oracle分组取第一条
SELECT * FROM (SELECT ROW_NUMBER() OVER(PARTITION BY x ORDER BY y DESC) rn,test1.* FROM test1) WHERE ...
- CocoaPods for Xcode
http://www.cnblogs.com/MrRed/p/5728933.html 非常方便的Xcode pods插件.可以很方便的在Xcode通过pods安装各种objective-c第三方库, ...
- ajax请求成功后新窗口window.open()被拦截的解决方法
ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是该操作并不是用户主动触发的,所以它认为这是不安全的就拦截了(不过如果是 _self 的话就不会有这个限 ...
- id to load is required for loading
id一般作为主键,不为空.springmvc hibernate 框架中根据参数ids执行批量删除的方法时报错,ids是id主键的数组集合.去搜了下,原因别的博客说了,是id为空引起的.实际上id不为 ...
- JMeter学习-028-JMeter默认jmx脚本分发目录(路径)定制
我们在分布式执行参数化脚本时,为尽可能多的利用Slave资源,尽可能将参数文件配置为相对路径,以更好的去适配Slave环境.与此同时,每台Slave的服务jmeter -s 启动的路径可能不尽相同,同 ...
- [转]搬瓦工换机房换ip之后不能连外网
搬瓦工换机房换ip之后不能连外网 时间 2015-07-21 15:17:16 Wendal随笔 原文 http://wendal.net/2015/07/21.html 主题 iptables ...
- 就publish/subscribe功能看redis集群模式下的队列技术(一)
Redis 简介 Redis 是完全开源免费的,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中 ...
- SQL性能优化
引言: 以前在面试的过程中,总有面试官问道:你做过sql性能优化吗?对此,我的答复是没有.一次没有不是自己的错误,两次也不是,但如果是多次呢?今天痛下决心,把有关sql性能优化的相关知识总结一下,以便 ...
- delphi 判断一个数组的长度用 Length 还是 SizeOf ?
判断一个数组的长度用 Length 还是 SizeOf ?最近发现一些代码, 甚至有一些专家代码, 在遍历数组时所用的数组长度竟然是 SizeOf(arr); 这不合适! 如果是一维数组.且元素大小是 ...