Heim php教程 php手册 php的变量和函数前加&的意思

php的变量和函数前加&的意思

Jun 06, 2016 pm 07:56 PM
amp php 函数 变量 意思 进入

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 任何其它表达式都不能通过引用传递,结果未定义.例如下面引用传递的例子是无效的: ?php function bar(){ // Note the missing $a = 5; return $a; } foo(bar()); foo($a = 5) // 表达式,不是变量 foo(

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

 

    任何其它表达式都不能通过引用传递,结果未定义.例如下面引用传递的例子是无效的:

   

    function bar(){ // Note the missing &

    $a = 5;

    return $a;

    }

    foo(bar());

    foo($a = 5) // 表达式,不是变量

    foo(5) // 常量,不是变量

    ?>

    这些条件是 PHP 4.0.4 以及以后版本有的.

    引用返回

    引用返回用在当你想用函数找到引用应该被绑定在哪一个变量上面时.当返回引用时,使用此语法:

   

    function &find_var ($param){

    /* ...code... */

    return $found_var;

    }

    $foo =& find_var ($bar);

    $foo->x = 2;

    ?>

    本例中 find_var 函数所返回的对象的属性将被设定(译者:指的是 $foo->x = 2; 语句),而不是拷贝,就和没有用引用语法一样.

    注: 和参数传递不同,这里必须在两个地方都用 & 符号 - 来指出返回的是一个引用,而不是通常的一个拷贝,同样也指出 $foo 是作为引用的绑定,而不是通常的赋值.

    取消引用

    当你 unset 一个引用,只是断开了变量名和变量内容之间的绑定.这并不意味着变量内容被销毁了.例如:

   

    $a = 1;

    $b =& $a;

    unset ($a);

    ?>

    不会 unset $b,只是 $a.

    再拿这个和 Unix 的 unlink 调用来类比一下可能有助于理解.

    引用定位

    许***PHP 的语法结构是通过引用机制实现的,所以上述有关引用绑定的一切也都适用于这些结构.一些结构,例如引用传递和返回,已经在上面提到了.其它使用引用的结构有:

    global 引用

    当用 global $var 声明一个变量时实际上建立了一个到全局变量的引用.也就是说和这样做是相同的:

   

    $var =& $GLOBALS[“var”];

    ?>

    这意味着,例如,unset $var 不会 unset 全局变量.

    $this

    在一个对象的方法中,$this 永远是调用它的对象的引用.

  [1] [2] 

php的变量和函数前加&的意思

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

CakePHP Datum und Uhrzeit

CakePHP-Projektkonfiguration CakePHP-Projektkonfiguration Sep 10, 2024 pm 05:25 PM

CakePHP-Projektkonfiguration

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

CakePHP-Datei hochladen

CakePHP-Routing CakePHP-Routing Sep 10, 2024 pm 05:25 PM

CakePHP-Routing

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

Besprechen Sie CakePHP

CakePHP-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

CakePHP-Kurzanleitung

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein

See all articles