Php 为什么end(())不发出严格的通知?
endarray_keysarray0说PHP有严格的标准:只能通过引用传递变量 另一方面,endarray_keysarray0可以正常工作。为什么?Php 为什么end(())不发出严格的通知?,php,Php,endarray_keysarray0说PHP有严格的标准:只能通过引用传递变量 另一方面,endarray_keysarray0可以正常工作。为什么? VLD反编译器显示运行的是相同的操作码。唯一的区别是在ext列中,但我找不到关于这意味着什么的文档。可能发生的情况是数组键通过引用将结果传回。因此,PHP向您发出通知,您不应该这样做 在括号中换行实际上会更改引用,并强制PHP首先对其中的语句求值。因此,它会删除引用。其中一件奇怪的事情看起来并没有什么不同,但事实上确实如此 更奇怪的是在MySQ
VLD反编译器显示运行的是相同的操作码。唯一的区别是在ext列中,但我找不到关于这意味着什么的文档。可能发生的情况是数组键通过引用将结果传回。因此,PHP向您发出通知,您不应该这样做 在括号中换行实际上会更改引用,并强制PHP首先对其中的语句求值。因此,它会删除引用。其中一件奇怪的事情看起来并没有什么不同,但事实上确实如此
更奇怪的是在MySQL中有一个类似的技巧,你不能从同一个表中选择更新一个表-答案的第二位,但它围绕着评估数据的传递方式。在它周围粘上一组额外的支架会改变它的处理方式。这是关于直接来自函数的值,而不是被视为括号内的自己的实体。嘿,@NikiC,我正准备这么做::d我说了,但更好、更清晰、更容易理解:+1数组_键肯定不会通过引用传回结果,甚至错误也表明了完全相反的结果。这不是正确的答案@不要吃醋;P@chx事实上是的。只有变量应该通过引用传递意味着结果是通过引用传递的-但是因为实现细节不是一个变量。实际上,函数引用中有一个