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 */