夜光随行
2015-04-05 19:58
php小白求解答 m1 m2 不是相同引用么,执行完preg_match_all之后,m1跟m2是一样长的吧
shawanyi
$m1=$m2=array();
我只看到$m1,$m2是 定义两个 数组变量;
在php5 的对象编程经常提到的一个关键点是“默认情况下对象是通过引用传递的”。但其实这不是完全正确的。下面通过一些例子来说明。
php的引用是别名,就是两个不同的变量名字指向相同的内容。在php5,一个对象变量已经不再保存整个对象的值。只是保存一个标识符来访问真正的对象内容。 当对象作为参数传递,作为结果返回,或者赋值给另外一个变量,另外一个变量跟原来的不是引用的关系,只是他们都保存着同一个标识符的拷贝,这个标识符指向同一个对象的真正内容。
也就是说对于对象中$a = $b保存的相同的一个标识符让你错以为是同一个,而对于其他不是对象的如string int ,float,数组等是赋值,也可以理解成为复制。因此m1和m2是不同的长度和内容
鬼斧神工之正则表达式
47865 学习 · 113 问题
相似问题