Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.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 为什么end(())不发出严格的通知?_Php - Fatal编程技术网

Php 为什么end(())不发出严格的通知?

Php 为什么end(())不发出严格的通知?,php,Php,endarray_keysarray0说PHP有严格的标准:只能通过引用传递变量 另一方面,endarray_keysarray0可以正常工作。为什么? VLD反编译器显示运行的是相同的操作码。唯一的区别是在ext列中,但我找不到关于这意味着什么的文档。可能发生的情况是数组键通过引用将结果传回。因此,PHP向您发出通知,您不应该这样做 在括号中换行实际上会更改引用,并强制PHP首先对其中的语句求值。因此,它会删除引用。其中一件奇怪的事情看起来并没有什么不同,但事实上确实如此 更奇怪的是在MySQ

endarray_keysarray0说PHP有严格的标准:只能通过引用传递变量

另一方面,endarray_keysarray0可以正常工作。为什么?


VLD反编译器显示运行的是相同的操作码。唯一的区别是在ext列中,但我找不到关于这意味着什么的文档。

可能发生的情况是数组键通过引用将结果传回。因此,PHP向您发出通知,您不应该这样做

在括号中换行实际上会更改引用,并强制PHP首先对其中的语句求值。因此,它会删除引用。其中一件奇怪的事情看起来并没有什么不同,但事实上确实如此


更奇怪的是

在MySQL中有一个类似的技巧,你不能从同一个表中选择更新一个表-答案的第二位,但它围绕着评估数据的传递方式。在它周围粘上一组额外的支架会改变它的处理方式。这是关于直接来自函数的值,而不是被视为括号内的自己的实体。嘿,@NikiC,我正准备这么做::d我说了,但更好、更清晰、更容易理解:+1数组_键肯定不会通过引用传回结果,甚至错误也表明了完全相反的结果。这不是正确的答案@不要吃醋;P@chx事实上是的。只有变量应该通过引用传递意味着结果是通过引用传递的-但是因为实现细节不是一个变量。实际上,函数引用中有一个