×

php不是用引用返回

php不是用引用返回(php不是用引用返回吗)

admin admin 发表于2023-04-01 04:58:07 浏览72 评论0

抢沙发发表评论

本文目录一览:

php规定通过$a=&test(); 方式得到的才是函数的引用返回. 这里的引用返回是什么意思,求教

类似指针,你返回的变量和$a的变量指向同一个数据,你这个例子效果不明显

建议你看看手册的例子:

?php

class foo {

    public $value = 42;

    public function getValue() {

        return $this-value;

    }

}

$obj = new foo;

$myValue = $obj-getValue(); // $myValue is a reference to $obj-value, which is 42.

$obj-value = 2;

echo $myValue;                // prints the new value of $obj-value, i.e. 2.

?

/manual/zh/language.references.return.php

PHP 函数前面加&符号的意义

php函数前面加符号的意思是函数的引用返回,php函数前面加符号有什么作用呢

下面解释下: 

通过这种方式$a=test();得到的其实不是函数的引用返回,这跟普通的函数调用没有区别.

至于原因: 这是PHP的规定

php规定通过$a=test(); 方式得到的才是函数的引用返回.

至于什么是引用返回呢(PHP手册上说:引用返回用在当想用函数找到引用应该被绑定在哪一个变量上面时。)

用上面的例子来解释就是

$a=test()方式调用函数,只是将函数的值赋给$a而已, 而$a做任何改变 都不会影响到函数中的$b.

而通过$a=test()方式调用函数呢, 他的作用是将return $b中的 $b变量的内存地址与$a变量的内存地址,

指向了同一个地方. 即产生了相当于这样的效果($a=b;) 所以**改变$a的值,也同时改变了$b 的值 **,所以在执行了:

$a=test(); $a=5; 以后,$b的值变为了5 ......

php函数前面加符号是什么意思?有的函数前面会加,因为很少见到,所以不明白php函数前面加符号是什么意思

那么,php函数前面加符号有什么作用呢?

php 代码 $func($dbhost, $dbuser, $dbpass)) 怎么理解

简单说一下,你的这个代码是错误的

正确的应该这样写

$connid = $func($dbhost, $dbuser, $dbpass);

$connid 是一个变量,

$func($dbhost, $dbuser, $dbpass);是在运行一个方法,

这个方法应该是自定义的。其中$dbhost, $dbuser, $dbpass这三个是参数,你也可以理解为三个变量,方法func()运行时需要这三个参数有对应的值。

所以这个的理解方法就是将$dbhost, $dbuser, $dbpass三个参数传给方法func()方法,方法运行,得到一个值,将值赋值给变量$connid.

从变量的名称两推测这个方法是在连接数据库,根据猜测,我把这个整体复原一下,应该是

func($dbhost, $dbuser, $dbpass)

{

if(mysql_connet($dbhost,$dbuser,$dbpass){

return 1;

}else{

return 0;

}

}

$dbhost=localhost;

$dbuser = 'root';

$dbpass ='';

$connid = $func($dbhost, $dbuser, $dbpass);

以上答案仅供推测,如有错误,纯属正常