0

我可以使用闭包在 PHP >=5.4 中合并数组或从数组中删除重复项,就像在 Objective C 中使用块或在 C++ 中使用 lambda 一样?

  • 是否可以使用谓词/闭包/块/lambda 作为此类函数的参数。

IE:

$a = array('blah','bleh');
$b = array('blih, 'bloh');
$arr = array_merge( function() use (&$a,&$b) { return $a == $b ? true : false; } );

(上面的例子过于简单,我想为对象做这个)。

  • 可以内联完成还是应该始终将闭包定义为 $var ?
  • 是否有性能提升,还是运行相同?
4

1 回答 1

2

您可能可以为此使用 array_filter() 。我的猜测是您需要过滤 1 个数组作为参数并将第二个数组添加为 use()。当当前值不在use()传入的数组中时,可以添加。 http://php.net/manual/en/function.array-filter.php

仅当您需要根据对象内部的值进行检查时才这样做,因为 $a == $b 对象可能会很棘手;)

于 2013-03-28T16:31:56.493 回答