php引用参数
1. 谁能给我讲讲php中的值传递和引用传递是怎么回事,还有就是方法中带参数有什么用
值传递就是讲某个值直接赋给某一个变量,如$a="wetrt"; 而引用传递通俗来讲就是获取变量的存储地址,有了这个地址我就可以随便更改变量的中的值了。例如:$b="旧值";function a(&$b){ $b="新的值";} 这样的话你原来$b的值就被改为“新值”了,方法中带参数肯定是用来向方法中传递某个信息了或者说你相对这个参数进行某些操作,比如function a($b){ echo $b;}试想你没有这个参数变量$b,你怎么办?你总不可能上来直接就是function a(){ echo $b;}吧
2. php怎样把文件中的参数值引入别的文件中使用
第一,include要用在Page类的构造函数_construct()里使用;
第二,var $pageRows=$a这种赋值不可能实现;
public $pageRows;赋值不能使变量
在构造函数中使用
include('config.php');
$this->pageRows = $a;
3. php引用传递中的&什么意思,有什么用
其实图片中的文字已经描述得很详细了,如果你是循序渐进学到这里的,应该是可以理解的啊。
加了&就是引用传递,就是把实参的内存地址传递给函数内部的形参,这样的话函数内部对形参的任何修改都会直接影响到外部的实参,也就是说这种情况下实参和形参其实是同一个变量;
而不加&则是值传递,就是把实参的值传递给函数内部的形参,这时候函数内部对形参的任何修改都与外部的实参没有任何关系,不会改变实参的值。
打个比方,值传递就好比你给某人100块钱,然后他拿这钱去不管怎么花都与你无关了;而引用传递则好比你把自己的银行帐号密码都告诉某人,那么他此后用这账号所做的任何消费行为都与你的总资产息息相关了!
4. php 引用
1, $a = 123; $array = array(); $array[1] =& $a; $abc = $array; // 此时$abc[1]仍然引用自$a,不会解除 $a = 456; // 重新为$a赋值456 echo $abc[1]; // 显示为456 理解这个意思了吧, 无论是什么样的数组, 只要其中某个是引用自其它地方,它就会一直引用着, 只有$abc[1]重新赋值才会解除引用 ########################################################### 2, new是php的关键字, 用于实例化对象, new foobar()的意思是初始化一个对象, 而对象自身传值是直接使用引用而不是传值的, foo(new foobar())等于说将这个foobar类实例化之后将这个对象当作参数传进foo函数 ########################################################### 3, $someref是一个示例变量名, 它可以是$_GET[1]也可以是$GLOBALS[a], 这样它就可以是整个php程序中任何的有效存在的变量 例子只是例子, 用在实际程序中才有它的存在意义, 的确这例子举的很缺智慧就是了,很遗憾你找了本烂书 $_GET[1] = 1; function &a() { $a = $_GET[1]; return $a; } $x =& a(); $x = 'MoontoC'; echo $_GET[1]; // 此时这里会显示 MoontoC, 而不是最初赋值的1, 你明白其中的意义了吗, 使用函数传值时必须双方都使用引用符号才有意义真正的引用过去, 而任何一边少了引用符号, 都不会得到错误的内容, 但内容是传值, 而不是传引用了, 没有程序基础的人最初学php的确很难理解传值和传引用的重要性, 觉得反正都能得到自己要的东西, 其实不是的, 很多时候虽然得到的东西一样, 但是代价却完全不一样, 一个长达200万字的值, 被当作值传送就是400万字同时放在内存中待用, 多耗费一倍内存的意思,而传引用就只是一个快捷方式传送过去而已 ########################################################### 4, 还是同一个问题, 楼主没搞清楚啥叫例子 这个例子中存在一个没有写出来的$foo对象, 而这个对象是写在/* ...code */里的, 它的确存在, 但这是例子, 没必要写的如此完整, 并不是所有的教程都把例子写的一字不漏的, 很多事情需要我们脑补-_- $foobar = new foo(); function &find_var($param) { $found_var = $GLOBALS['foobar']; return $found_var; } 此时例子就接近完整了 $foo =& find_var($bar);// 此时$foo 引用自$GLOBALS['foobar'], 也就是全局变量的$foobar $foo->x = 2; // 相当于 $foobar->x = 2; 楼主不理解$foo->x = 2;的意义, 看来是看教程还没看到对象和类吧, 看到那的时候你会理解对象属性的意义, 也就明白 $foo->x其实是foo对象其中一个属性x, = 2是为这个属性赋值
5. 请说明php中传值与传引用的区别.什么时候传值什么
传值,
是把实参的值赋值给行参
那么对行参的修改,不会影响实参的值
传引用
真正的以地址的方式传递参数
传递以后,行参和实参都是同一个对象,只是他们名字不同而已
对行参的修改将影响实参的值
所谓值传递,就是说仅将对象的值传递给目标对象,就相当于;系统将为目标对象重新开辟一个完全相同的内存空间。
所谓引用,就是说将对象在内存中的地址传递给目标对象,就相当于使目标对象和原始对象对应同一个内存存储空间。此时,如果对目标对象进行修改,内存中的数据也会改变。
6. php如何引用flash中的变量
Flash向PHP传直:1、loadVariables('url',
target
[,
variables])url是发送数据的目的文件路径,target是发送或接收数据的目标MC,variables是传递的方式(POST或GET)。如:loadvariables("send.php",
_root,
"POST")2、loadVariablesNum("url",
level
[,
variables])与loadvariable()类似,不同之处在于第二个参数,这里是指定发送或接收的级别。如:loadVariablesNum("send.php",
0,
"GET")
7. php函数中传引用参数可以设置默认值吗
php函数
中传引用参数可以设置默认值吗
是这个样子的,定义的参数与调用时的参数名称可以不同。
带默认值的就是指当这些参数没有给出的时候可以按照预定义内容进行赋值。
function
text($i,
$a
=
"
test1
",
$test
=
"test2"){
echo
"
{$i}
";
echo
"
{$test1}
";
echo
"
{$test2}
";
}
8. php的class中怎样引用外部的变量
用全局变量。
class MyClass {
public my_print() {
global $str;
print $str;
}
}
$str = 'Hello, World'.
$myclass = new MyClass();
$myclass->my_print();
9. php如何用标签传递参数传递后如何接受该参数
写法如下:
<a href='deal.php?id=5' >
在deal.php里面:
用$_GET['id']来获取
<?php
$result = $_GET["id"];
echo $result;
?>
10. 关于php调用文件及参数传递的问题
require相当于把指定文件的代码换到当前位置,例如
//a.php
$a=1;
$b=2;
//b.php
$c=3;
require_once('a.php');
$d=4;
在执行b.php时,相当于b.php内容如下
$c=3;//b.php中原内容
$a=1;//a.php中的内容
$b=2;//a.php中的内容
$d=4;//b.php中原内容
就是替换的关系,所以变量是通用的,不需要任何传值,可以理解为2个文件合并到一起
建议用require_once以防止多次循环引用出错