2014-07-08 4 views
0

나는 함수 내에서 인수로 설정된 2 개의 변수를 출력하려고했습니다. PHP에서 따옴표없이 변수를 반환

function aboutMe($somenam="rahul", $someplace="delhi") 
    {return "$somenam $someplace";} 
    echo "<br/>",aboutMe(); 
    echo "<br/>",aboutme("sachin"); 

난 그냥 반환 이후에는 따옴표가없는, 내가 return $somenam $someplace;를 사용하는 경우가 있기 때문에 다음 코드에서 필요한 따옴표를 내가 return "$somenam $someplace"; 왜 라니를 사용하는 경우 제대로 출력 반면이 오류가 발생 이유를 알고 싶어하고있다 잘 작동 함 :

function func_having_static_var($x = NULL) 
    { 
$var = 0; 
    if ($x === NULL) 
    { return $var; } 
    // $var = $x; 
    } 
    echo func_having_static_var(); 
+0

어떤 오류가 있습니까? 해당 코드가 유효합니다. 데모 http://codepad.viper-7.com/y5EJfA – Deele

+1

'return "$ somenam $ someplace";는'return $ somename과 같습니다. ''. $ 어딘가; 따옴표가 없으면'return $ somename $ someplace; '가 구문 오류 일 뿐이 기 때문에 따옴표가 필요합니다. 'return [$ somenam, $ somewplace];와 같이 항상 배열을 반환 할 수 있습니다. 큰 따옴표로 묶인 문자열에서 발생하는 [변수 확장] (http://www.php.net/manual/en/language.types.string.php#language.types.string.parsing)을 읽을 수 있습니다. –

답변

1

함수에서 하나의 값만 반환 할 수 있습니다. 그래서 당신은 당신이 그들을 결합하는 따옴표를 사용하지 않으려는 경우 따옴표가 필요하다고하지, . 연산자를 사용하여

return $somenam." ".$someplace; 
+1

그건 그가 물어 보지 않은거야? –

+0

OP 질문에 대답하거나 설명하지 않습니다. – Deele

+0

적어도 downvote를 얻는 것은 정확하지 않을 수 있습니다. – Rikesh

4

그것을 모두 변수를 concate 필요는 return 단 한 가지를 반환 할 수있다.

"$somenam $someplace"을 입력하면 하나의 문자열 개체가 만들어지고 반환됩니다. return $somenam." ".$someplace; (여전히 하나의 객체 임)을 수행하면 동일하게 수행 할 수 있습니다.

return $somenam $someplace;은 두 개의 개체를 반환하기 때문에 잘못된 구문입니다.

return은 하나의 변수 (반환 값) 만 취하므로 return $var이 작동합니다.

자세한 내용은 documentation on returning values을 참조하십시오.