2012-05-22 4 views
1

PHP에서 함수에 미리 설정된 변수를 전달하는 것을 피하는 것이 편합니다.PHP에서 미리 변수를 전달하는 것을 피하십시오.

function test1($var2,$var3,$var1=1){ 
    return '$var1='.$var1.'+$var2='.$var2.'+$var3'.$var3; 
} 
echo test1($var2=2,$var3=3); 
#$var1=1+$var2=2+$var33 

를하지만이 (경고없이)하지 않는 :

예를 들어,이 작품 어쩌면

function test($var1=1,$var2,$var3){ 
    return '$var1='.$var1.'+$var2='.$var2.'+$var3'.$var3; 
} 
echo test($var2=2,$var3=3); 
#Warning: Missing argument 3 for test(), called in /var/www/atpc.info/f/f/m/t.php on line 6 and defined in /var/www/atpc.info/f/f/m/t.php on line 3 
#Notice: Undefined variable: var3 in /var/www/atpc.info/f/f/m/t.php on line 4 
#$var1=2+$var2=3+$var3 

이 일어날 수 있도록하는 유일한 방법입니다 항상에 넣어 선의 끝은 미리 설정된 변수입니다. 그렇지?

감사합니다.

+0

내가 이것을 할 때 필요한 것은 연관 배열을 옵션과 함께 전달하는 것입니다. –

답변

2

오이는 ... 그 변수를 보내려면 당신이 PHP에서 변수를 전달하는 방법 하지 ....

입니다 :

function test($var1=1,$var2=1,$var3=1){ //default 1, 1, 1 
    return '$var1='.$var1.'+$var2='.$var2.'+$var3'.$var3; 
} 
echo test(2,3); //only sent for var1 and 2 
echo test(null, 2, 3); //only sent for var2 and 3  
echo test(); //default for all 
0

봅니다 variable function arguments in PHP을 검사 할 수 있습니다.

+0

어떻게?, 왜?, 어디서? ... –

+0

@FranciscoCorrales, 이것은 분명히 검색어입니다. 클립 보드에 복사하여 원하는 검색 엔진에 붙여 넣을만큼 똑똑해야합니다. _learn_ 대답은 항상 _solve_ 대답보다 낫습니다. –

+0

글쎄, 나에게 그다지 분명한 것은 아니었다. '수색'은 할 것이고, '수사'는 단서를주지 않았다. 나는 답을 배우고 답을 해결하는 것을 좋아한다. 해결책과 해설 모두 ... 고맙습니다. –

0

당신은 인생을 더 쉽게 만들지 만, 어떤 지점에서 매개 변수를 전달해야하는 코드가 엉성하고 코드가 오류를 발생시키지 않을 수도 있습니다. 그게 내거야.

관련 문제