PHP에서 인수 배열 풀기
-
08-07-2019 - |
문제
Python은 "*"연산자에게 튜플 목록을 풀고 다음과 같은 인수와 같은 기능을 제공하기위한 "*"연산자를 제공합니다.
args = [3, 6]
range(*args) # call with arguments unpacked from a list
이것은 다음과 같습니다.
range(3, 6)
PHP에서 이것을 달성 할 수있는 방법이 있는지 아는 사람이 있습니까? "PHP 풀"의 변형에 대한 일부 인터넷 검색은 즉시 아무것도 나타나지 않았습니다.
해결책
당신이 사용할 수있는 call_user_func_array()
그것을 달성하기 위해 :
call_user_func_array("range", $args);
예제를 사용합니다.
다른 팁
~ 안에 php5.6
그만큼 ...
운영자 추가되었다. 그것을 사용하면 제거 할 수 있습니다 call_user_func_array()
이 간단한 대안을 위해. 예를 들어 함수가 있습니다
function add($a, $b){
return $a + $b;
}
그리고 당신의 배열 $list = [4, 6];
(PHP5.5 후에는 이런 식으로 배열을 선언 할 수 있습니다). 당신은 당신의 기능을 호출 할 수 있습니다 ...
:
echo add(...$list);
Call_user_func_array를 사용해야합니다
call_user_func_array(array(CLASS, METHOD), array(arg1, arg2, ....))
http://www.php.net/call_user_func_array
또는 반사 API를 사용하십시오 http://www.php.net/oop5.reflection
특정 시나리오에서는 사용을 고려할 수 있습니다 unpacking
, PHP에서 가능한 것은 Python과 비슷한 방법입니다.
list($min, $max) = [3, 6];
range($min, $max);
이것이 제가 적어도이 대답에 도착한 방법입니다. 구글 검색: PHP argument unpacking
제휴하지 않습니다 StackOverflow