当一个变量只能通过引用传递的时候。

如:

$tmplCacheFile = $this->tmplVarReplace(file_get_contents($tmplCacheFile));

Strict Standards: Only variables should be passed by reference in /data/opt/mobile_system/lib/cortrol.class.php on line 353

报错说引用类型不能这样传递。原因是引用类型是用返回值的。所以的用一个变量去接受那个值,在赋值给函数。

$vcontents = file_get_contents($tmplCacheFile);

$tmplCacheFile = $this->tmplVarReplace($vcontents);

				
时间: 2024-08-10 16:58:09

当一个变量只能通过引用传递的时候。的相关文章

php中unset一个变量之后, 通过引用赋值引用这个变量的变量会被unset吗?

在php中变量的赋值分为按值赋值,  和引用赋值. 在按值赋值中, $a = val;  $b = $a ; 可以看成$a = val; $b =val;变量b被赋予a的值之后,  a和b便没有任何的引用关系了, 此时改变其中任意一个值, 另外一个值不会受到影响. 在引用传值种, $a = val; $b = &$a;  也可以看成$a = val; $b =val; 不过变量a和b还要满足一个条件就是必须相等, 因为两个变量有着共同的引用, 当一个值改变时, 另外一个值也跟着改变.  如 在给

【转载】C++ 值传递、指针传递、引用传递详解

原文链接:http://www.cnblogs.com/yanlingyin/ 值传递: 形参是实参的拷贝,改变形参的值并不会影响外部实参的值.从被调用函数的角度来说,值传递是单向的(实参->形参),参数的值只能传入, 不能传出.当函数内部需要修改参数,并且不希望这个改变影响调用者时,采用值传递. 指针传递: 形参为指向实参地址的指针,当对形参的指向操作时,就相当于对实参本身进行的操作 引用传递: 形参相当于是实参的“别名”,对形参的操作其实就是对实参的操作,在引用传递过程中,被调函数的形式参数

C++ 值传递、指针传递、引用传递详解

写在前头: 本文摘抄字博客:http://www.cnblogs.com/yanlingyin/archive/2011/12/07/2278961.html 自己的理解: 关于指针和引用的区别在于: 指针是对地址的一份拷贝,虽然对其的使用,可以通过地址来改变实参的值, 但如果对这个指针的拷贝,做出改变,那么这种改变将不影响实参. 而引用,是一种间接的操作,对形参的所有改变,都会通过间接的操作,映射到实参中,引用本身就是一种别名, 所以对这个别名的操作,就是对实参的操作. 还有一些其他的区别,就

C++中值传递、指针传递、引用传递的总结

C++中值传递.指针传递.引用传递的总结 指针传递和引用传递一般适用于:函数内部修改参数并且希望改动影响调用者.对比值传递,指针/引用传递可以将改变由形参"传给"实参(实际上就是直接在实参的内存上修改,不像值传递将实参的值拷贝到另外的内存地址中才修改).指针/引用传递的另外一种用法是:当一个函数实际需要返回多个值,而只能显式返回一个值时,可以将另外需要返回的变量以指针/引用传递给函数,这样在函数内部修改并且返回后,调用者可以拿到被修改过后的变量,也相当于一个隐式的返回值传递吧. 1.

【转】值传递、指针传递、引用传递的区别

1. 值传递:形参是实参的拷贝,改变形参的值并不会影响外部实参的值.从被调用函数的角度来说,值传递是单向的(实参->形参),参数的值只能传入,不能传出.当函数内部需要修改参数,并且不希望这个改变影响调用者时,采用值传递. void swap(int a,int b){     int temp;     temp=a;     a=b;     b=temp;     cout<<a<<’ ‘<<b<<’\n’;} int main(){     in

Python 值传递和引用传递

值传递和引用传递 參考地址:http://www.dataguru.cn/thread-489552-1-1.html python的值传递不会改变传入參数的值,而引用传递传入的是一个地址.有点相似c的指针.在运行完毕之后会改变传入地址所指的值. 值传递类型例如以下: 上面的代码仅仅是将a的值作为參数传递进去.程序运行完之后a的值并未改变 ? 1 2 3 4 5 6 a = 1 def change_integer(a):     a = a + 1     return a print cha

引用传递应用实例

class Member{ private int id; private String name; private Car car;//表示属于人的车 public Member(int id,String name){ this.id=id; this.name=name; } public String toString(){ return "编号:" + this.id + ",名字:" + this.name; } public void setCar(C

java中使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?

是引用对象的地址值不能变,引用变量所指向的对象的内容是可以改变. final变量永远指向这个对象,是一个常量指针,而不是指向常量的指针. 例如:final StringBuffer sbu = new StringBuffer(“abc”); 在对其进行重新赋值 sbu = new StringBuffer(“”); 会出现编译错误,被final修饰的变量是不能被重新赋值的. sbu.append(“d”); 是可以编译通过的; final:最终.作为一个修饰符 1.可以修饰类.变量.函数. 2

在使用自定义指令的时候,使用了一个引用传递的值来管理状态

就是在外部的控制器里面定义了一个变量,然后把它传给自定义组件.在自定义组件里面修改了.因为是引用传递.按道理组件里面改了,外面也会改.也会响应的是吧.但是我遇到的一个问题是.我在指令里面改了这个变量.然后在指令里面立马调用了外部控制器里面的方法此时变量的更改没有反应到外部控制器.出现了延时的状况.这时候我用$timeout为0就能解决.然后就能同步.这个坑其实我也不知道什么原因.可能和他angular里面的机制有关系吧.