zoukankan      html  css  js  c++  java
  • PHP中的 array_filter 函数

    1 <?php
    2 function test_odd($var)
    3 {
    4   return($var & 1);
    5 }
    6 
    7 $a1=array("a","b",2,3,4);
    8 print_r(array_filter($a1,"test_odd"));
    9 ?>

    会返回

    1 Array ( [3] => 3 )

    定义和用法

    array_filter() 函数用回调函数过滤数组中的值。

    该函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回结果数组中。数组键名保持不变。

    语法

    array_filter(array,callbackfunction);
    参数描述
    array 必需。规定要过滤的数组。
    callbackfunction 必需。规定要使用的回调函数。

    技术细节

    返回值: 返回过滤的数组。
    PHP 版本: 4.0.6+

    注:回调函数中的  return($var & 1);  表示在1转换成二进制  0001  后,传入的 $var 变量,如果是数字,则在转换成二进制后,其倒数第一位必须是1,如果是字符串则会转换成对应的ASCII码然后再进行操作。

    同理,如果把 1 换成 3 , 因为 3 的倒数第一二位都为1,且2的倒数第二位也为1,所以会输出 2 ,3 , 4 这三个数组元素。

    如果还没理解可以搜索  PHP位运算符,或者是参考这个网址  http://jingyan.baidu.com/album/6181c3e06f8602152ff1537a.html?picindex=1  我认为它讲得比较清楚

    一到十二进制如下所示:

    1→0001
    2→0010
    3→0011
    4→0100
    5→0101
    6→0110
    7→0111
    8→1000
    9→1001
    10→1010
  • 相关阅读:
    P1582 倒水 (二进制)
    P2014 选课 (树形动规)
    多项式前置技能——复数
    P3694 邦邦的大合唱站队 (状压DP)
    P1754 球迷购票问题 (卡特兰数,递推)
    [SCOI2003]字符串折叠 (区间DP)
    [SDOI2008]仪仗队 (欧拉函数)
    4-字符串
    3.输出,输入,基本数据类型
    2.栈,堆,寄存器的理解
  • 原文地址:https://www.cnblogs.com/zsczsc/p/7350805.html
Copyright © 2011-2022 走看看