【发布时间】:2017-02-01 07:00:53
【问题描述】:
我熟悉array_filter,并且我正在尝试更多功能,但我想知道是否有办法保留丢弃的值?例如,如果我有一个像这样的数组:
<?php
$arr = array( 1, 2, 3, 4 );
$arrGreaterThanTwo = array_filter($arr, function($item){
return $item > 2;
});
结果将是:array(3, 4)。
- 有没有办法保留丢弃的值数组(1、2)?
- 或者我是否需要在原始数组上再次重用 array_filter 并将 item
- 如果我再次使用 array_filter 来抓取 array( 1, 2 ),那么通过两次循环原始数组会不会效率低下?
最后,我只是想用 array_filter 循环一次,并将丢弃的值也保存到一个单独的数组中。
提前致谢!
【问题讨论】:
-
只需使用带有 if/else 条件的简单 foreach 循环,然后您可以将满足您条件的元素添加到一个数组中,将其余元素添加到另一个数组中。
-
过滤数组。这就是它在盒子里说的,这就是它的作用。只需使用 foreach 循环。
-
循环两次不会低效。试试吧。测试执行时间。
标签: php arrays functional-programming