@@ 602-609 (lines=8) @@ | ||
599 | ||
600 | $args = func_get_args(); |
|
601 | switch (sizeof($args)) { |
|
602 | case 2: |
|
603 | $strategy = Conversions::mixedToValueGetter($args[0]); |
|
604 | $closure = function ($value, $key) use ($strategy) { |
|
605 | $tempVarPhp54 = call_user_func($strategy, $value, $key); |
|
606 | return !empty($tempVarPhp54); |
|
607 | }; |
|
608 | $iterable = Conversions::mixedToIterator($args[1]); |
|
609 | break; |
|
610 | ||
611 | case 3: |
|
612 | $strategy = Conversions::mixedToValueGetter($args[0]); |
|
@@ 611-618 (lines=8) @@ | ||
608 | $iterable = Conversions::mixedToIterator($args[1]); |
|
609 | break; |
|
610 | ||
611 | case 3: |
|
612 | $strategy = Conversions::mixedToValueGetter($args[0]); |
|
613 | $userClosure = $args[1]; |
|
614 | $closure = function ($value, $key) use ($strategy, $userClosure) { |
|
615 | return call_user_func($userClosure, call_user_func($strategy, $value, $key)); |
|
616 | }; |
|
617 | $iterable = Conversions::mixedToIterator($args[2]); |
|
618 | break; |
|
619 | ||
620 | default: |
|
621 | throw new \InvalidArgumentException('filterBy requires either two (strategy, iterable) or three (strategy, closure, iterable) arguments'); |