php - 从数组 PHP 中过滤掉负整数
问题描述
我正在尝试从以下数组中删除所有负整数:
$array = array([-122,121,-124,124,-121,122,-122,124,-121,124,-122,125,-121,121,-123,122,-124,120]);
我尝试了以下方法,但它不起作用,因为我不太了解它是如何array_filter
工作的:
function positive($var) {
if ($var >= 0) {
return $var;
}
}
print_r(array_filter($array, positive($var)));
我如何将每个值发送到positive
函数?或者有没有更好的方法来做到这一点?array_walk
或者array_map
也许?
解决方案
PHP 文档指出:
数组 array_filter ( 数组 $array [, 可调用 $callback [, int $flag = 0 ]] )
遍历数组中的每个值,将它们传递给回调函数。如果回调函数返回 true,则将数组中的当前值返回到结果数组中。数组键被保留。
使用测试正值的回调:
$array = [-122,121,-124,124,-121,122,-122,124,-121,124,-122,125,-121,121,-123,122,-124,120];
$positive_integers = array_filter($array, function($value) {
return $value > 0;
});
推荐阅读
- c - 如何在 C 中的字符串内设置变量占位符
- c++ - 模板 ID 不匹配任何模板声明
- visual-studio - DEVENV 命令行构建失败:“此操作可能只发生在 UI 线程中”
- mysql - 检查数据库中的记录是否存在于 csv 文件中
- wordpress - WooCommerce 获取所有运输方式计算 API
- javascript - 保持与 react.js 相同的 socket.id
- postgresql - 检查值是否不等于选择查询时触发函数总是引发异常
- javascript - 语法错误:JSON.parse 中位置 0 的 JSON 中的意外标记 <
- haskell - 有效地替换二进制对象的一部分
- python - Python - 重命名元组列标题