doumei8126 2018-04-30 13:30
浏览 10
已采纳

从数组PHP中删除负整数[重复]

This question already has an answer here:

I'm trying to remove all negative integers from the following array :

$array = array([-122,121,-124,124,-121,122,-122,124,-121,124,-122,125,-121,121,-123,122,-124,120]);

I've tried the following, it's not working as I don't really understand how array_filter works :

function positive($var) {
  if ($var >= 0) {
    return $var;
  }
}

print_r(array_filter($array, positive($var)));

How would I send each value to the positive function? Or is there a better way of doing this? array_walk or array_map maybe?

</div>
  • 写回答

2条回答 默认 最新

  • dqxboe2628 2018-04-30 13:38
    关注

    Use this code:

    <?php
    $array = array([-122,121,-124,124,-121,122,-122,124,-121,124,-122,125,-121,121,-123,122,-124,120]);
    
    function positive($var) 
    {
        if ($var >= 0) 
        {
            return true;
        }
    }
    
    print_r(array_filter($array[0], 'positive'));
    

    You had to pass $array[0] as parameter to modify array. You have declared array with array in first element array([-122,...,-124,120]); so to filter array you need to pass $array[0].

    Output is:

    Array ( [1] => 121 [3] => 124 [5] => 122 [7] => 124 [9] => 124 [11] => 125 [13] => 121 [15] => 122 [17] => 120 )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?