>  기사  >  백엔드 개발  >  PHP 참조(&) 사례 소개

PHP 참조(&) 사례 소개

尚
앞으로
2020-02-21 17:57:082105검색

PHP 참조(&) 사례 소개변수 참조

사례:

<?php
//变量单独引用
$test = "a string!\n";
$quote = &$test;

echo $test; //a string!
echo $quote;//a string!

$quote = "exchange!\n";
echo $test; //exchange!
echo $quote;//exchange!

unset($quote);
echo $test; //exchange!

//函数传参引用
$num = 10;
echo $num."\n";
test($num);
echo $num."\n";

function test( &$num) {
    $num += 10;
}

결론

PHP의 변수 참조는 동일한 내용을 가리키는 다른 변수와 동일합니다. 이 콘텐츠도 작동됩니다. 참조 중 하나가 삭제되면 다른 참조는 영향을 받지 않습니다. 이는 삭제된 변수가 더 이상 동일한 콘텐츠를 가리키지 않는 것과 동일하지만 상수일 수는 없습니다. (이름이 여러 개인 사람과 동일하며, 이름 하나를 제때 제거해도 해당 사람의 엔터티에 영향을 미치지 않습니다.)

권장: php training

함수 참조 반환

사례 1:

<?php

$t = test(); // 1
var_dump($t); // int(1)
$t = 20; $t = test(); //2
var_dump($t); //int(2)
$t = &test(); //3
var_dump($t) ; //int(3)
$t = 20; $t = test(); //21
var_dump($t); //int(21)

function &test() {
    static $test = 0;
    $test += 1;
    echo $test."\n";
    
    return $test;   
}

사례 2:

?php

$t = test();

function &test() {
    static $test = 0;
    $test += 1;
    echo $test."\n";
}


$ php test.php 
1
PHP Notice:  Only variable references should be returned by reference in /home/q/www/zt.dujia.qunar.com/test.php on line 9

결론:

은 직설적으로 말하면 $t = &test;와 동일하며 여전히 변수 간의 참조입니다.

객체 참조

사례:

<?php
class a{
    var $abc="ABC";
} 
$b=new a; 
$c=$b; 
echo $b->abc;//这里输出ABC 
echo $c->abc;//这里输出ABC
 $b->abc="DEF"; 
echo $c->abc;//这里输出DEF
?>

참조는 실제로 여러 작업 이름이 지정된 변수 공간입니다. 이러한 작업 이름은 모두 동일한 작업 공간에서 작동하며, 기타 작업 이름으로 얻은 결과도 변경됩니다.

참조의 역할:

일반적으로 변수가 선언될 때마다 일정량의 공간을 차지합니다.

함수 매개변수 전달의 편리함은 원래 공간의 내용을 직접 수정할 수 있는 동시에 중간 변수의 공간 오버헤드도 줄일 수 있습니다.

더 많은 PHP 관련 지식을 보려면 php 무료 교육 웹사이트를 주목하세요.

위 내용은 PHP 참조(&) 사례 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제