php常用函数之数组(一)

最近发现做开发的时间越长,一些PHP函数反而记得不太清楚了,使用起来不是很顺手,现每天对PHP常用函数进行汇总,每天更新一小篇汇总内容。

一、数组的键值操作函数

        1.array_value(array $arr) 返回数组中所有的值,结果为一个索引数组      

         2.array_keys(array $arr) 返回数组中的所有的键值,结果为一个索引哈数组

        3.in_array(mix $a, array $arr [,boolen]) 判断$a 是否在$b中存在,如果存在则返回true,否则返回flase若第三个参数存在并且 为时判断类型是否相同默认为false。

        4.array_flip(array $arr交换数组的键和值,返回值仍然为一个数组
        5.array_reverse($arr) 返回一个顺序相反的数组

<?php
	$arr = array(1,2,'num1'=>5,4,10,'num2'=>8);
	$num_1 = 5;
	$num_2 = '5';
	$a = array_values($arr);//array(1,2,5,4,10,8)
	$b = array_keys($arr);// array(0,1,'num1',5,4,'num2')
	$c = in_array($num_1, $arr);//true
	$d = in_array($num_2, $arr,true);//false
	$e = array_flip($arr);//array(1=>0,2=>1,5=>'num1',4=>3,10=>4,8=>'num2')
	$f = array_reverse($arr);//array('num2'=>8,10,4,'num1'=>5,2,1);
?>

二、数组中的统计函数

       1.count($arr)统计数组的长度 返回一个整数

       2.array_count_values($arr) 统计数组所有的值出现的次数,返回一个数组,数组中原数组的值为键名,出现的字数我键值

       3.array_unique($arr)移除数组中重复的值

         $arr = array(1,2,'num1'=>5,4,3,2,10,'num2'=>8,'2',5);
	$a = count($arr); //10
	$b = array_count_values($arr);//array(1=>1,2=>3,5=>2,4=>1,3=>1,10=>1,8=>1),注意不判断类型
	$c = array_unique($arr);//array(1,2,'num1'=>5,4,3,10,'num2'=>8),注意不判断类型
三、带回调的函数

        1.array_filter($arr,callback) 用callback函数过来数组$arr1中的单元

<?php
	$student = array(
			array('name'=>'zhangsan','age'=>20,'sex'=>'男'),
			array('name'=>'lisi','age'=>25,'sex'=>'男'),
			array('name'=>'mawu','age'=>23,'sex'=>'女'),
			array('name'=>'xiaoliu','age'=>21,'sex'=>'男'),
			array('name'=>'qige','age'=>30,'sex'=>'女'),
			array('name'=>'wanba','age'=>28,'sex'=>'男')
			);
	function fun($arr){
		if($arr['sex'] == '男'){
			return true;
		}
	}
	$a = array_filter($student,'fun'); 
      // $a为
        $student = array(
			array('name'=>'zhangsan','age'=>20,'sex'=>'男'),
			array('name'=>'lisi','age'=>25,'sex'=>'男'),
			array('name'=>'xiaoliu','age'=>21,'sex'=>'男'),
			array('name'=>'wanba','age'=>28,'sex'=>'男')
			);
 ?>


2.array_map(callback,$arr1, $arr2, $arr3,...)对数组$arr1,$arr2,$arr3...中的单元依次执行callback操

<?php
	$student = array(
			array('name'=>'zhangsan','age'=>20,'sex'=>'男'),
			array('name'=>'lisi','age'=>25,'sex'=>'男'),
			array('name'=>'mawu','age'=>23,'sex'=>'女'),
			array('name'=>'xiaoliu','age'=>21,'sex'=>'男'),
			array('name'=>'qige','age'=>30,'sex'=>'女'),
			array('name'=>'wanba','age'=>28,'sex'=>'男')
			);
	function fun($arr){
			$arr['age'] +=5;
			return $arr;
	}
	$a = array_map('fun',$student);
      // $a结果

       $student = array(
			array('name'=>'zhangsan','age'=>25,'sex'=>'男'),
			array('name'=>'lisi','age'=>30,'sex'=>'男'),
			array('name'=>'mawu','age'=>28,'sex'=>'女'),
			array('name'=>'xiaoliu','age'=>26,'sex'=>'男'),
			array('name'=>'qige','age'=>35,'sex'=>'女'),
			array('name'=>'wanba','age'=>33,'sex'=>'男')
			);
?>
3. 3.array_walk(&$arr1,callback[,userdata])对数组$arr1的每个数组单元应用callback函数,成功返回true,失败返回false;$arr1的单元一般作为参数传给callback。常用的情况是,$arr1的值作为第一个参数,key作为第二个参数,若usedata存在,则作为第三个参数
$arr=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");
	
	function fun($value,$key,$a) {
       echo $a."The key $key has the value $value<br />";
    }

	array_walk($arr,'fun','加个参数');

  //输出结果为
       //加个参数The key a has the value Cat
       //加个参数The key b has the value Dog
      //加个参数The key c has the value Horse

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值