Php 参考变量数组
我总是使用Php 参考变量数组,php,arrays,reference,Php,Arrays,Reference,我总是使用$text=$datasql[0] 其中$datasql=array('0'=>array('some'=>'text','some2'=>'text2'),'1'=>$data,等等) 并找到了工作构造$datasql=&$datasql[0]和工作,为什么 那真的是参考资料吗??以及如何在内存中记住php这个解决方案。每个变量都是对一个值的引用。通常,使用该值时会复制该值,但使用&会复制引用 假设您有以下变量: $original = 'john'; 如果将$datasql中的值
$text=$datasql[0]代码>
其中$datasql=array('0'=>array('some'=>'text','some2'=>'text2'),'1'=>$data,等等)代码>
并找到了工作构造$datasql=&$datasql[0]代码>和工作,为什么
那真的是参考资料吗??以及如何在内存中记住php这个解决方案。每个变量都是对一个值的引用。通常,使用该值时会复制该值,但使用&
会复制引用
假设您有以下变量:
$original = 'john';
如果将$datasql中的值指定给变量,则会复制该值:
$text = $original;
如果指定引用,则不会复制该值,而是引用该值:
$text = & $original;
这意味着$text
指向$original
的值。现在,如果取消设置$original
,则$text
的内容仍然有效:
unset($original);
echo $text; // john
这是因为PHP知道仍然存在对$original
值的引用,所以它删除了$original
变量作为名称,而不是内容
您的示例与此类似,只是变量没有显式取消设置,而是被覆盖。它是对一个值的引用,就像任何其他变量一样。您的问题是什么?我将其解释为:如果原始变量不再需要引用,那么$datasql=&$datasql[0]
如何工作。