Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP上返回按升序和降序排序的数组以及奇数或偶数值数组?_Php - Fatal编程技术网

如何在PHP上返回按升序和降序排序的数组以及奇数或偶数值数组?

如何在PHP上返回按升序和降序排序的数组以及奇数或偶数值数组?,php,Php,关于PHP上的编码,我有两个问题: 如何使用给定数组返回按升序和降序排序的数组(作为参数提供)? (参见下面的订单功能要求) 如何从给定数组返回奇数或偶数值数组(作为参数提供)? (参见下面的功能要求) 功能要求: // Sample input $array = [8, 12, 7, 11, 77, 5]; /** * Custom sort function */ function order($array, $ascOrDesc = 'asc') { // sort the

关于PHP上的编码,我有两个问题:

  • 如何使用给定数组返回按升序和降序排序的数组(作为参数提供)?
    (参见下面的
    订单
    功能要求)
  • 如何从给定数组返回奇数或偶数值数组(作为参数提供)?
    (参见下面的功能要求)
  • 功能要求:

    // Sample input
    $array = [8, 12, 7, 11, 77, 5];
    
    /**
     * Custom sort function
     */
    function order($array, $ascOrDesc = 'asc') {
        // sort the array according to $ascOrDesc argument
        return $array;
    }
    
    /**
     * Custom odd/even function
     */
    function oddOrEven($array, $oddOrEven = 'even') {
        // find out even or odd values according to $oddOrEven argument
        return $array;
    }
    
    您可以使用(升序排序)和函数来解决第一个请求

    function order($array, $ascOrDesc = 'asc') {
        switch ($ascOrDesc) {
            case 'asc':
                sort($array);
                break;
            case 'desc':
                rsort($array);
                break;
        }
        return $array;
    }
    
    对于奇数或偶数,可以使用来过滤期望值

    function odd($var)
    {
        // returns whether the input integer is odd
        return($var & 1);
    }
    
    function even($var)
    {
        // returns whether the input integer is even
        return(!($var & 1));
    }
    
    function oddOrEven($array, $oddOrEven = 'even') {
        if ( function_exists($oddOrEven) ) {
            return array_filter($array, $oddOrEven);
        }
        return $array;
    }
    
    您可以使用以下测试用例:

    $array = [8, 12, 7, 11, 77, 5];
    print_r(order($array, 'desc'));
    print_r(order($array, 'asc'));
    print_r(oddOrEven($array, 'even'));
    print_r(oddOrEven($array, 'odd'));
    

    在PHP中,有and,用于按升序或降序对数组进行排序。你最好用它。@AngelPolitis。。。我正在使用sort和rsort,但没有找到解决方案。我你可以拜托我不明白这些人,他们到底为什么否决OP问题?!因为它写得很差?还是因为这是一个太简单的问题?你们这些人怎么了?从什么时候开始你变得如此势利??我认为这个平台是为了相互学习而不是仇恨。你可以举例说明如何写出正确答案,而不是投反对票。你真丢脸!是的,我想帮助这家伙学习,但有些人认为这太宽泛了。记住,伟大的力量带来伟大的责任@斯拉维克·梅尔泽。。。非常感谢你。我知道没有人是完美的。我们来到这里是为了向有经验的人学习,然而这里发生的事情恰恰相反。这是不道德的。现在有很多选择可以问问题。多亏了这项技术。真的,我来这里是因为我发现一些像你这样的天才思维开阔。无论如何,再次感谢你。。。我不管他们是否反对投票。在每个方向上都有很多敞开的大门……你的解决方案很清楚,但你的解决方案给了你输出的是什么?因为当我运行它们时,我没有找到output@amiega我打错了。刚刚更新了我的答案并提供了一些例子。真的很感谢你的好意。你的回答清楚易懂。谢谢