Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 参考变量数组_Php_Arrays_Reference - Fatal编程技术网

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]
如何工作。