변환 익명의 기능을 5.2create_function
-
21-12-2019 - |
문제
나는 변환을 시도하고:
usort($discounts, function ($a, $b) use ($c, $d){
$value1 = $c->do_action($a, $d, $d->value);
$value2 = $c->do_action($b, $d, $d->value);
return $value1 == $value2 ? 0 : ($value1 > $value2 ? 1 : -1);
});
으로 함수에서 사용할 수 있는 5.2
는 지금까지 나는 가정을 할 수 있는 다음과 같다:
create_function( '$a, $b use ($that, $d)', ' $value1 = $c->do_action($a, $d, $d->value); $value2 = $c->do_action($b, $d, $d->value);return $value1 == $value2 ? 0 : ($value1 > $value2 ? 1 : -1);');
하지만 당신은 할 수 없 use($c,$d)
내부에 먼저 param.
해결책
지 않지만 이상적인 솔루션을 사용할 수 있어야합 global
키워드는 무엇을 달성 하기 위해 필요:
create_function( '$a, $b', ' global $c, $d; $value1 = $c->do_action($a, $d, $d->value); $value2 = $c->do_action($b, $d, $d->value);return $value1 == $value2 ? 0 : ($value1 > $value2 ? 1 : -1);');
제휴하지 않습니다 StackOverflow