>백엔드 개발 >PHP 튜토리얼 >함수 반환 값에 대한 질문

함수 반환 값에 대한 질문

WBOY
WBOY원래의
2016-08-04 09:21:56808검색

아직 함수 반환 값에 대해 잘 모르겠습니다. 다음 예에서는 jj()를 호출하면 1이 직접 출력됩니다. 왜 함수 반환 값이 사용되지 않는 것 같나요? 여기서 이 함수를 호출하면 실행됩니다. $a만 출력하면 되나요? 왜 여전히 반환 값과 관련이 있습니까?

<code>    function jj(){
        $a=1;
        echo $a;
    }
    $b=jj();
    var_dump($b);</code>

답글 내용:

아직 함수 반환 값에 대해 잘 모르겠습니다. 다음 예에서는 jj()를 호출하면 1이 직접 출력됩니다. 왜 함수 반환 값이 사용되지 않는 것 같나요? 여기서 이 함수를 호출하면 실행됩니다. $a만 출력하면 되나요? 왜 여전히 반환 값과 관련이 있습니까?

<code>    function jj(){
        $a=1;
        echo $a;
    }
    $b=jj();
    var_dump($b);</code>

인쇄는 화면에만 표시됩니다. 이 값을 사용하는 경우 다른 곳에서 받으려면 반드시 return을 사용해야 합니다. 따라서 여기서 함수는 아무것도 반환하지 않고 단지 1을 인쇄하므로 변수 b는 어떤 값도 얻지 못하므로 비어 있습니다.

함수에 return 문이 없기 때문에 실행 후 null이 반환됩니다.
함수 실행 프로세스:

  1. $b = jj(); jj()를 호출하여 $a에 값을 할당하고 $a를 인쇄하며 반환하지 않음(반환은 null임)

  2. var_dump $b, $b에는 jj()의 반환 값이 할당되므로 null입니다

  3. 전체 실행이 완료되면 출력된 1($a 값), null($b 값)이 남습니다

<code>function jj(){
        $a=1;
        echo $a;
        return $a;
    }
    $b=jj();
    var_dump($b);</code>

아마도 이것이 예상한 결과일 것입니다

jj 함수는 반환 없이 $a를 직접 출력하므로 $b는 비어 있습니다

<code>$b=jj();//输出1 直接调用函数jj
var_dump($b);//输出null  打印函数?并没用return值

加了return之后的结果如下:
1
D:\WWW\demo\demo\demo.php:15:int 1
</code>

echo는 직접 출력이고 return은 호출된 위치를 반환합니다

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.