유용한 함수 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";
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 730 |
|
19년 전 | 2747 | |
| 729 |
그레이스웹
|
19년 전 | 3533 | |
| 728 |
|
19년 전 | 2721 | |
| 727 |
|
19년 전 | 2550 | |
| 726 |
|
19년 전 | 2369 | |
| 725 |
|
19년 전 | 2280 | |
| 724 |
|
19년 전 | 2160 | |
| 723 |
|
19년 전 | 4277 | |
| 722 |
|
19년 전 | 2703 | |
| 721 |
|
19년 전 | 2197 | |
| 720 |
|
19년 전 | 2299 | |
| 719 |
|
19년 전 | 2867 | |
| 718 |
|
19년 전 | 1979 | |
| 717 |
|
19년 전 | 3207 | |
| 716 |
|
19년 전 | 2773 | |
| 715 |
|
19년 전 | 2300 | |
| 714 |
|
19년 전 | 1849 | |
| 713 |
|
19년 전 | 2268 | |
| 712 |
|
19년 전 | 2025 | |
| 711 |
|
19년 전 | 1924 | |
| 710 |
|
19년 전 | 2499 | |
| 709 |
|
19년 전 | 2356 | |
| 708 |
|
19년 전 | 3913 | |
| 707 |
|
19년 전 | 3752 | |
| 706 |
|
19년 전 | 2263 | |
| 705 |
|
19년 전 | 3336 | |
| 704 |
|
19년 전 | 2012 | |
| 703 |
|
19년 전 | 2406 | |
| 702 |
|
19년 전 | 2302 | |
| 701 |
홀로남은자
|
19년 전 | 2368 | |
| 700 |
홀로남은자
|
19년 전 | 2189 | |
| 699 | 19년 전 | 2832 | ||
| 698 |
|
19년 전 | 2853 | |
| 697 |
|
19년 전 | 3191 | |
| 696 |
|
19년 전 | 3059 | |
| 695 |
|
19년 전 | 2733 | |
| 694 |
|
19년 전 | 2960 | |
| 693 |
|
19년 전 | 3216 | |
| 692 |
|
19년 전 | 2898 | |
| 691 |
|
19년 전 | 2652 | |
| 690 | 19년 전 | 2954 | ||
| 689 | 19년 전 | 4529 | ||
| 688 | 19년 전 | 2456 | ||
| 687 | 19년 전 | 2480 | ||
| 686 | 19년 전 | 3506 | ||
| 685 | 19년 전 | 3191 | ||
| 684 | 19년 전 | 2870 | ||
| 683 | 19년 전 | 2084 | ||
| 682 | 19년 전 | 1788 | ||
| 681 | 19년 전 | 2888 | ||
| 680 | 19년 전 | 1741 | ||
| 679 | 19년 전 | 2327 | ||
| 678 | 19년 전 | 3977 | ||
| 677 | 19년 전 | 3770 | ||
| 676 | 19년 전 | 3492 | ||
| 675 | 19년 전 | 3424 | ||
| 674 |
|
19년 전 | 1585 | |
| 673 |
|
19년 전 | 1947 | |
| 672 |
|
19년 전 | 1876 | |
| 671 | 19년 전 | 2541 | ||
| 670 | 19년 전 | 4664 | ||
| 669 |
|
19년 전 | 2787 | |
| 668 |
|
19년 전 | 1938 | |
| 667 |
|
19년 전 | 1958 | |
| 666 |
|
19년 전 | 1864 | |
| 665 |
|
19년 전 | 2601 | |
| 664 |
|
19년 전 | 8206 | |
| 663 |
|
19년 전 | 2753 | |
| 662 |
|
19년 전 | 2804 | |
| 661 |
|
19년 전 | 3067 | |
| 660 |
|
19년 전 | 2242 | |
| 659 |
|
19년 전 | 2270 | |
| 658 |
|
19년 전 | 2197 | |
| 657 |
|
19년 전 | 2100 | |
| 656 |
|
19년 전 | 2292 | |
| 655 |
|
19년 전 | 2552 | |
| 654 |
|
19년 전 | 3091 | |
| 653 | 19년 전 | 2347 | ||
| 652 | 19년 전 | 1931 | ||
| 651 |
|
19년 전 | 2873 | |
| 650 | 19년 전 | 5034 | ||
| 649 | 19년 전 | 3533 | ||
| 648 | 19년 전 | 3487 | ||
| 647 | 19년 전 | 2992 | ||
| 646 | 19년 전 | 2429 | ||
| 645 | 19년 전 | 1514 | ||
| 644 | 19년 전 | 3154 | ||
| 643 | 19년 전 | 2028 | ||
| 642 |
|
19년 전 | 5411 | |
| 641 | 19년 전 | 2449 | ||
| 640 | 19년 전 | 3448 | ||
| 639 | 19년 전 | 2888 | ||
| 638 | 19년 전 | 1774 | ||
| 637 | 19년 전 | 3890 | ||
| 636 | 19년 전 | 2441 | ||
| 635 | 19년 전 | 2331 | ||
| 634 |
|
19년 전 | 3029 | |
| 633 |
|
19년 전 | 3318 | |
| 632 | 19년 전 | 2526 | ||
| 631 | 19년 전 | 2286 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기