유용한 함수 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년 전 | 2720 | |
| 729 |
그레이스웹
|
19년 전 | 3514 | |
| 728 |
|
19년 전 | 2682 | |
| 727 |
|
19년 전 | 2522 | |
| 726 |
|
19년 전 | 2338 | |
| 725 |
|
19년 전 | 2237 | |
| 724 |
|
19년 전 | 2131 | |
| 723 |
|
19년 전 | 4255 | |
| 722 |
|
19년 전 | 2669 | |
| 721 |
|
19년 전 | 2163 | |
| 720 |
|
19년 전 | 2258 | |
| 719 |
|
19년 전 | 2844 | |
| 718 |
|
19년 전 | 1960 | |
| 717 |
|
19년 전 | 3195 | |
| 716 |
|
19년 전 | 2751 | |
| 715 |
|
19년 전 | 2261 | |
| 714 |
|
19년 전 | 1818 | |
| 713 |
|
19년 전 | 2237 | |
| 712 |
|
19년 전 | 2010 | |
| 711 |
|
19년 전 | 1904 | |
| 710 |
|
19년 전 | 2465 | |
| 709 |
|
19년 전 | 2323 | |
| 708 |
|
19년 전 | 3884 | |
| 707 |
|
19년 전 | 3735 | |
| 706 |
|
19년 전 | 2236 | |
| 705 |
|
19년 전 | 3286 | |
| 704 |
|
19년 전 | 1955 | |
| 703 |
|
19년 전 | 2382 | |
| 702 |
|
19년 전 | 2277 | |
| 701 |
홀로남은자
|
19년 전 | 2345 | |
| 700 |
홀로남은자
|
19년 전 | 2179 | |
| 699 | 19년 전 | 2814 | ||
| 698 |
|
19년 전 | 2830 | |
| 697 |
|
19년 전 | 3171 | |
| 696 |
|
19년 전 | 3042 | |
| 695 |
|
19년 전 | 2703 | |
| 694 |
|
19년 전 | 2929 | |
| 693 |
|
19년 전 | 3182 | |
| 692 |
|
19년 전 | 2877 | |
| 691 |
|
19년 전 | 2626 | |
| 690 | 19년 전 | 2924 | ||
| 689 | 19년 전 | 4509 | ||
| 688 | 19년 전 | 2436 | ||
| 687 | 19년 전 | 2449 | ||
| 686 | 19년 전 | 3477 | ||
| 685 | 19년 전 | 3160 | ||
| 684 | 19년 전 | 2811 | ||
| 683 | 19년 전 | 2052 | ||
| 682 | 19년 전 | 1774 | ||
| 681 | 19년 전 | 2876 | ||
| 680 | 19년 전 | 1717 | ||
| 679 | 19년 전 | 2311 | ||
| 678 | 19년 전 | 3959 | ||
| 677 | 19년 전 | 3733 | ||
| 676 | 19년 전 | 3458 | ||
| 675 | 19년 전 | 3407 | ||
| 674 |
|
19년 전 | 1566 | |
| 673 |
|
19년 전 | 1939 | |
| 672 |
|
19년 전 | 1859 | |
| 671 | 19년 전 | 2523 | ||
| 670 | 19년 전 | 4621 | ||
| 669 |
|
19년 전 | 2762 | |
| 668 |
|
19년 전 | 1916 | |
| 667 |
|
19년 전 | 1931 | |
| 666 |
|
19년 전 | 1824 | |
| 665 |
|
19년 전 | 2563 | |
| 664 |
|
19년 전 | 8175 | |
| 663 |
|
19년 전 | 2724 | |
| 662 |
|
19년 전 | 2788 | |
| 661 |
|
19년 전 | 3045 | |
| 660 |
|
19년 전 | 2202 | |
| 659 |
|
19년 전 | 2209 | |
| 658 |
|
19년 전 | 2170 | |
| 657 |
|
19년 전 | 2072 | |
| 656 |
|
19년 전 | 2263 | |
| 655 |
|
19년 전 | 2522 | |
| 654 |
|
19년 전 | 3076 | |
| 653 | 19년 전 | 2329 | ||
| 652 | 19년 전 | 1910 | ||
| 651 |
|
19년 전 | 2831 | |
| 650 | 19년 전 | 5002 | ||
| 649 | 19년 전 | 3500 | ||
| 648 | 19년 전 | 3457 | ||
| 647 | 19년 전 | 2973 | ||
| 646 | 19년 전 | 2393 | ||
| 645 | 19년 전 | 1489 | ||
| 644 | 19년 전 | 3133 | ||
| 643 | 19년 전 | 2011 | ||
| 642 |
|
19년 전 | 5381 | |
| 641 | 19년 전 | 2430 | ||
| 640 | 19년 전 | 3430 | ||
| 639 | 19년 전 | 2860 | ||
| 638 | 19년 전 | 1761 | ||
| 637 | 19년 전 | 3880 | ||
| 636 | 19년 전 | 2420 | ||
| 635 | 19년 전 | 2311 | ||
| 634 |
|
19년 전 | 3025 | |
| 633 |
|
19년 전 | 3300 | |
| 632 | 19년 전 | 2498 | ||
| 631 | 19년 전 | 2259 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기