문제

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top