인용문 - PHP 매뉴얼 노트

WBOY
풀어 주다: 2016-08-08 09:28:52
원래의
861명이 탐색했습니다.

명언이란 무엇인가

PHP에서의 참조는 Unix의 파일 이름 및 파일 자체와 유사하게 동일한 변수 내용이 다른 변수 이름으로 액세스됨을 의미합니다(변수 이름은 디렉토리 항목이고 변수 내용은 파일 자체입니다. , 동일한 파일이 다른 디렉토리 항목으로 액세스됨)은 Unix 파일 시스템에서 하드 링크로 간주될 수 있습니다.

파일 시스템에는 두 가지 유형의 링크가 있는데, 하나는 하드 링크라고 하고 다른 하나는 심볼릭 링크라고 합니다. 기본적으로 ln 명령은 하드 링크를 생성합니다. 하드 연결은 인덱스 노드를 통한 연결을 의미합니다. Linux 파일 시스템에서 디스크 파티션에 저장된 파일에는 유형에 관계없이 인덱스 노드 번호(InodeIndex)라는 번호가 할당됩니다. Linux에는 동일한 인덱스 노드를 가리키는 여러 파일 이름이 존재합니다. 일반적으로 이 연결은 하드 연결입니다. 하드 링크의 기능은 파일이 여러 개의 유효한 경로 이름을 갖도록 허용하여 사용자가 "실수로 인한 삭제"를 방지하기 위해 중요한 파일에 대한 하드 링크를 설정할 수 있도록 하는 것입니다. 그 이유는 위에서 언급한 바와 같습니다. 디렉터리의 인덱스 노드에 대한 연결이 두 개 이상 있기 때문입니다. 하나의 연결만 삭제해도 인덱스 노드 자체와 다른 연결에는 영향을 미치지 않습니다. 마지막 연결이 삭제된 경우에만 파일의 데이터 블록과 디렉터리 연결이 해제됩니다. 즉, 파일이 실제로 삭제됩니다. 하드 연결에 대응하여 Lnux 시스템에는 심볼릭 링크(Symbilc Link), 소프트 링크라고도 하는 또 다른 연결이 있습니다. 소프트 링크 파일은 Windows 바로 가기와 다소 유사합니다. 실제로는 일종의 특수 파일입니다. 심볼릭 링크에서 파일은 실제로 다른 파일의 위치 정보가 포함된 텍스트 파일입니다.

인용문은 주로 세 가지 용도로 사용됩니다.

  • 동일한 내용을 가리킵니다
  • 참조로 변수 전달
  • 참고로 반품

동일한 내용을 가리킵니다

인용은 두 변수가 동일한 내용을 가리킬 수 있도록 허용합니다(예: $a = & $b). 이는 $a$b가 동일한 변수를 가리킨다는 의미입니다.

정의되지 않은 변수가 참조로 할당되거나, 참조로 전달되거나, 참조로 반환되면 해당 변수가 자동으로 생성됩니다. 예를 들어, 다음 프로그램은 $a 변수를 자동으로 생성합니다.

<code>function foo(&$var) {}
foo($a);</code>
로그인 후 복사

PHP 5부터 new 연산자는 자동으로 참조를 반환합니다.

참조로 전달

참조에 의한 변수 전달은 다음 코드를 통해 수행할 수 있습니다. foo 함수의 $var 변수는 $a이 가리키는 것과 동일한 내용을 가리킵니다. .

<code><?php 
function foo(&$var) {
	$var++;
}
$a = 1;
foo($a);
echo $a;</code>
로그인 후 복사

함수 정의에는 참조 기호 &만 있고 함수 호출 시 참조 기호 &는 없습니다.

참고로 반품

참조를 반환하려면 다음 구문을 사용하세요.

<code><?php 
class foo {
	public $value = 42;
	public function & getValue() {
		return $this->value;
	}
}
$obj = new foo;
$myValue = & $obj->getValue();
$obj->value = 2;
echo $myValue;</code>
로그인 후 복사

참조에 의한 반환은 매개변수 전달과 다릅니다. & 기호는 함수 정의와 함수 호출 모두에 사용됩니다(일반적인 복사본 대신 참조가 반환됨을 나타냄).

인용 해제

unset()이 참조인 경우 변수 이름과 변수 내용 간의 바인딩은 끊어질 뿐이고 변수 내용은 삭제되지 않습니다.

참조 위치 지정

많은 PHP 구문 구조는 global 참조 및 $this 포인터와 같은 참조 메커니즘을 통해 구현됩니다.

global $var으로 변수를 선언하면 실제로 $var = & $GLOBALS['var']과 동일한 효과를 갖는 전역 변수에 대한 참조가 설정됩니다. 객체 메서드에서 $this는 항상 이를 호출하는 객체에 대한 참조입니다.

(전문 종료)

위 내용은 참고자료를 소개한 것입니다 - PHP 매뉴얼 노트와 내용의 측면을 포함하여, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿