변수 인수 목록 전달 Sprintf ()
-
05-07-2019 - |
문제
(무엇보다도)가 변수 수의 인수를 받아들이고 Sprintf ()로 전달하는 함수를 작성하고 싶습니다.
예를 들어:
<?php
function some_func($var) {
// ...
$s = sprintf($var, ...arguments that were passed...);
// ...
}
some_func("blah %d blah", $number);
?>
PHP에서 어떻게해야합니까?
해결책
function some_func() {
$args = func_get_args();
$s = call_user_func_array('sprintf', $args);
}
// or
function some_func() {
$args = func_get_args();
$var = array_shift($args);
$s = vsprintf($var, $args);
}
그만큼 $args
임시 변수가 필요합니다 func_get_args
5.3 이전에 PHP 버전의 기능 목록에 사용할 수 없습니다.
다른 팁
조합을 사용하십시오 func_get_args
그리고 call_user_func_array
function f($var) { // at least one argument
$args = func_get_args();
$s = call_user_func_array('sprintf', $args);
}
$ numargs = func_num_args (); 그리고 func_get_arg (i) 인수를 검색합니다
방법은 다음과 같습니다.
http://www.php.net/manual/en/functions.arguments.php#functions.variable-arg-list
기본적으로 매개 변수없이 평소와 같이 기능을 선언 한 다음 func_num_args ()를 호출하여 얼마나 많은 인수가 귀하를 통과했는지 확인한 다음 func_get_arg () 또는 func_get_args ()를 호출하여 각각을 얻습니다. 그것은 쉽다 :)
제휴하지 않습니다 StackOverflow