유용한 함수 call_user_func
(PHP 4, PHP 5)
call_user_func — Call a user function given by the first parameter
첫번째 인자로 주어진 문자열과 같은 이름의 함수를 실행시키고 그 함수의 실행결과의 리턴값을 반환
Description
mixed call_user_func ( callback $function [, mixed $parameter [, mixed $... ]] )
Call a user defined function given by the function parameter.
위의 설명만으로는 이해를 하기 힘든 면이 있습니다.
call_user_func 함수는 쉽게 애기하면
특정 조건에 따라 유동적으로 다른 함수를 적용 하고자 할때 많이 쓰입니다.
즉, 갯수가 몇개 안되거나 어떤 쓰임이 완전이 정해진 경우에는
function function1(){
.......
}
function function2(){
.......
}
function function3(){
.......
}
switch($type){
case 1 :
$result = function1();
break;
case 2 :
$result = function2();
break;
case 3 :
$result = function3();
break;
default :
die('type error : ' . $type);
}
와 같이 switch 를 사용하여 함수를 호출해주면 됩니다.
그러나 경우의 수가 많거나. 특정 규칙이 존재한다면
위의 switch 구문은 아래와 같이 쓸수 있습니다.
$function_name = 'function' . $type;
$result = call_user_func($function_name) or die('type error : ' . $type);
또는
$result = call_user_func('function' . $type) or die('type error : ' . $type);
call_user_func 의 두번째 인자부터는
생략할수도 있고 무한대로 설정가능합니다.
단, 실행하고자 하는 함수의 인자의 갯수와 일치합니다.
위의 예제에서는 호출하고자 하는 함수가 인자 없는 함수라서 call_user_func(함수명) 과 같이 쓰였습니다.
아래의 예제에선 여러개의 인자를 넣는 경우의 예제입니다.
function add_1($v) {
return $v++;
}
$result = call_user_func('add_1', 1);
echo $result . "\n";
function sum_2($v1, $v2) {
return ($v1 + $v2);
}
$result = call_user_func('sum_2', 1, 5);
echo $result . "\n";
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 5330 | 13년 전 | 774 | ||
| 5329 | 13년 전 | 708 | ||
| 5328 | 13년 전 | 640 | ||
| 5327 | 13년 전 | 884 | ||
| 5326 |
downmix
|
13년 전 | 1119 | |
| 5325 |
techer
|
13년 전 | 3144 | |
| 5324 |
techer
|
13년 전 | 972 | |
| 5323 | 13년 전 | 1180 | ||
| 5322 |
김준수사랑
|
13년 전 | 892 | |
| 5321 |
다케미카코
|
13년 전 | 754 | |
| 5320 |
|
13년 전 | 997 | |
| 5319 |
한번잘해보자
|
13년 전 | 1008 | |
| 5318 |
|
13년 전 | 1274 | |
| 5317 |
techer
|
13년 전 | 2705 | |
| 5316 |
techer
|
13년 전 | 3146 | |
| 5315 | 13년 전 | 1175 | ||
| 5314 |
티즈코리아
|
13년 전 | 1227 | |
| 5313 | 13년 전 | 709 | ||
| 5312 |
|
13년 전 | 1876 | |
| 5311 |
innis
|
13년 전 | 775 | |
| 5310 | 13년 전 | 861 | ||
| 5309 |
changho
|
13년 전 | 661 | |
| 5308 |
|
13년 전 | 1367 | |
| 5307 |
|
13년 전 | 803 | |
| 5306 | 13년 전 | 1185 | ||
| 5305 |
세상속으로
|
13년 전 | 1168 | |
| 5304 | 13년 전 | 671 | ||
| 5303 | 13년 전 | 2262 | ||
| 5302 | 13년 전 | 1399 | ||
| 5301 | 13년 전 | 1111 | ||
| 5300 |
프로프리랜서
|
13년 전 | 1090 | |
| 5299 | 13년 전 | 875 | ||
| 5298 | 13년 전 | 683 | ||
| 5297 |
나랑사귈래
|
13년 전 | 611 | |
| 5296 | 13년 전 | 1338 | ||
| 5295 | 13년 전 | 1120 | ||
| 5294 | 13년 전 | 729 | ||
| 5293 |
|
13년 전 | 5822 | |
| 5292 |
|
13년 전 | 793 | |
| 5291 | 13년 전 | 621 | ||
| 5290 | 13년 전 | 558 | ||
| 5289 | 13년 전 | 656 | ||
| 5288 | 13년 전 | 1172 | ||
| 5287 | 13년 전 | 763 | ||
| 5286 | 13년 전 | 977 | ||
| 5285 | 13년 전 | 1327 | ||
| 5284 |
미스홍당무
|
13년 전 | 863 | |
| 5283 |
basketball
|
13년 전 | 1766 | |
| 5282 | 13년 전 | 793 | ||
| 5281 |
|
13년 전 | 808 | |
| 5280 | 13년 전 | 1216 | ||
| 5279 | 13년 전 | 1389 | ||
| 5278 |
크라이스트
|
13년 전 | 2054 | |
| 5277 |
|
13년 전 | 733 | |
| 5276 |
그누보드환자이송
|
13년 전 | 789 | |
| 5275 | 13년 전 | 704 | ||
| 5274 | 13년 전 | 1374 | ||
| 5273 | 13년 전 | 2005 | ||
| 5272 | 13년 전 | 1121 | ||
| 5271 | 13년 전 | 1436 | ||
| 5270 | 13년 전 | 809 | ||
| 5269 | 13년 전 | 529 | ||
| 5268 | 13년 전 | 667 | ||
| 5267 | 13년 전 | 1193 | ||
| 5266 | 13년 전 | 1860 | ||
| 5265 | 13년 전 | 1630 | ||
| 5264 |
크라이스트
|
13년 전 | 1210 | |
| 5263 |
|
13년 전 | 1266 | |
| 5262 |
제이티37
|
13년 전 | 587 | |
| 5261 |
|
13년 전 | 781 | |
| 5260 |
quenya
|
13년 전 | 2074 | |
| 5259 | 13년 전 | 710 | ||
| 5258 | 13년 전 | 733 | ||
| 5257 |
크라이스트
|
13년 전 | 4600 | |
| 5256 | 13년 전 | 1256 | ||
| 5255 | 13년 전 | 3266 | ||
| 5254 |
|
13년 전 | 708 | |
| 5253 | 13년 전 | 770 | ||
| 5252 | 13년 전 | 769 | ||
| 5251 | 13년 전 | 723 | ||
| 5250 |
dudn1114
|
13년 전 | 1293 | |
| 5249 | 13년 전 | 673 | ||
| 5248 | 13년 전 | 743 | ||
| 5247 | 13년 전 | 2084 | ||
| 5246 | 13년 전 | 507 | ||
| 5245 | 13년 전 | 2198 | ||
| 5244 | 13년 전 | 1460 | ||
| 5243 |
|
13년 전 | 973 | |
| 5242 | 13년 전 | 770 | ||
| 5241 | 13년 전 | 1851 | ||
| 5240 |
|
13년 전 | 508 | |
| 5239 | 13년 전 | 1038 | ||
| 5238 | 13년 전 | 1225 | ||
| 5237 | 13년 전 | 1121 | ||
| 5236 | 13년 전 | 589 | ||
| 5235 |
|
13년 전 | 768 | |
| 5234 |
뭐먹고살지ㅠ
|
13년 전 | 1033 | |
| 5233 | 13년 전 | 3598 | ||
| 5232 | 13년 전 | 3141 | ||
| 5231 | 13년 전 | 3732 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기