您现在的位置是:网站首页>>PHP>>php

PHP 将数组中的奇数偶数快速分开方法

发布时间:2019-01-15 11:32:40作者:wangjian浏览量:711点赞量:0

    使用PHP将数组中的奇数偶数分离,我们的第一想法一定是将数组循环,然后将每个数与2相除然后判断余数是否为零进而将数组中的奇数偶数进行分离开来,那么我们如何可以在不进行循环的前提下将数组中的奇数偶数分离开来呢?

    这时候我们就需要用到PHP的数组函数array_filter

    array_filter() 函数的定义和使用方法:

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

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

    使用array_filter()方法将数组中的奇数偶数分离开来:

    <?php
    /**
     * 奇数返回true
     */
    function oddCmp($input)
    {
        return ($input & 1);
    }
    /**
     * 偶数返回true
     */
    function evenCmp($input)
    {
        return !($input & 1);
    }

    $input = [1,2,3,4,5,6,7,8,9];
    $oddCmp = array_filter($input,"oddCmp");//如果你使用的是框架的话,"oddCmp"改成array($this,"oddCmp")
    $evenCmp = array_filter($input,"evenCmp");//如果你使用的是框架的话,"evenCmp"改成array($this,"evenCmp")

    print_r($oddCmp);
    print_r($evenCmp);

    返回值为:

    Array ( [0] => 1 [2] => 3 [4] => 5 [6] => 7 [8] => 9 ) 
    Array ( [1] => 2 [3] => 4 [5] => 6 [7] => 8 )

    你还可以将分离开来的数组键值重新排列,只需要使用PHP的array_values()函数即可



0 +1