우리는 주로 함수 매개변수를 사용하여 추가 처리를 위해 함수 내부의 외부 데이터를 얻습니다. 마찬가지로 함수 외부에서 처리된 데이터에 액세스하기 위해 PHP 함수에서 값을 반환합니다. 반환 값을 포함하거나 포함하지 않고 PHP에서 함수를 정의할 수 있습니다.
PHP의 함수는 여러 매개변수를 가질 수 있지만 여러 개의 반환 문을 가질 수는 없습니다. 이 튜토리얼에서는 PHP의 함수에서 여러 값을 반환하는 방법을 보여 드리겠습니다.
PHP의 함수에는 선택적 return
문이 있을 수 있습니다. 함수 내에서 호출되면 return 문은 추가 코드 실행을 즉시 중지합니다. 여기에는 다른 반환 문도 포함됩니다. 예는 다음과 같습니다.
위 코드를 실행하면 $y
值的语句。这是因为函数在第一个 return 语句后停止执行。如果取消注释我们使用 list()
分配变量值的行,则 $m
和 $n
都将是 NULL
因为 list()
에 대한 정보가 다시 표시되지 않습니다. 배열에서만 작동하며 함수는 숫자만 반환합니다.
우리는 return 문이 모든 유형의 값을 반환할 수 있다는 것을 알고 있습니다. 따라서 이를 사용하여 실제로 반환하려는 모든 값이 포함된 배열을 반환할 수도 있습니다. 여러 값을 반환하려면 위의 예를 다음과 같이 다시 작성할 수 있습니다.
으아악PHP 관점에서 보면 여전히 단일 값을 반환하지만 해당 단일 값은 여러 다른 값을 포함할 수 있는 배열입니다. 이는 PHP에서 여러 값을 반환하는 함수를 시뮬레이션하는 가장 간단한 방법 중 하나입니다.
위 예에서는 두 개의 값만 반환합니다. 그러나 더 많은 값이 관련되면 반환된 값의 올바른 순서를 기억해야 하기 때문에 상황이 약간 까다로울 수 있습니다.
PHP 7.1부터 연관 배열과 함께 list()
를 사용할 수 있습니다. 즉, 요소가 반환되는 순서는 할당된 값에 영향을 주지 않습니다. 예는 다음과 같습니다.
변수 $m
和 $n
는 이제 숫자 인덱스가 아닌 키를 기반으로 값이 할당되므로 두 경우 모두 동일한 값을 얻는 것을 볼 수 있습니다.
PHP 7.1부터는 이제 PHP가 구조 분해 구문을 지원하므로 list()
를 사용할 필요조차 없습니다. 이전 예제를 다음과 같이 다시 작성할 수 있습니다.
PHP 함수에서 여러 값을 반환하는 또 다른 방법은 객체를 반환하는 것입니다. 공용 멤버 변수를 사용하여 다양한 속성을 가진 클래스를 정의할 수 있습니다. 이 기술의 한 가지 단점은 더 많은 코드를 작성해야 하므로 클래스의 여러 인스턴스를 저장하는 데 더 많은 메모리를 소비한다는 것입니다. 장점은 여러 위치에서 동일한 변수 세트를 사용할 수 있다는 것입니다.
으아악보시다시피, 객체를 생성하고 다양한 속성에 값을 할당하기만 하면 함수에서 여러 값을 성공적으로 얻을 수 있습니다.
이 튜토리얼에서는 PHP가 함수에서 직접 여러 값을 반환하는 것을 허용하지 않는다는 것을 배웠습니다. 그러나 여러 값을 배열이나 객체로 압축하여 이 제한을 해결할 수 있습니다. 그런 다음 함수에서 배열이나 객체를 반환하고 값에 액세스하면 됩니다.
위 내용은 하나의 PHP 함수에서 여러 값을 반환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!