了解致命错误:无法在写入上下文中使用临时表达式

Posted

技术标签:

【中文标题】了解致命错误:无法在写入上下文中使用临时表达式【英文标题】:Understanding Fatal error: Cannot use temporary expression in write context 【发布时间】:2018-11-23 23:34:19 【问题描述】:

我想确切地了解这个错误在 php 中的含义:如何故意创建错误以及如何避免或修复它。 在下面的简单示例中,我收到了这个错误:

致命错误:无法在第 11 行的写入上下文中使用临时表达式

第 11 行是以下行:

response['error'] = "Error: B is less that C <br />";

这是错误的代码:

$response = [];
$a = 4;
$b = 8;
$c = 9;
$d = 29;

if($a !== $b)
    $response['error'] = "Error: A is not equal to B <br />";
elseif($b < $c)
    response['error'] = "Error: B is less that C <br />";

if($d > $c)
    response['success'] = "Success: D is greater than C<br />";


echo $response['error'];
echo $response['success'];

我的期望是:

确保正确处理此异常

我知道变量已定义,否则错误将是:

注意:未定义的变量

【问题讨论】:

【参考方案1】:

您忘记在单词response 之前添加$

这在第 11 行和第 14 行中很明显,如下所示:

response['error'] = "Error: B is less that C <br />";

你应该把它改成:

$response['error'] = "Error: B is less that C <br />";

希望这会有所帮助。

【讨论】:

是的。永远记住'$'在PHP中声明变量非常重要。我很高兴我的回答有所帮助。

以上是关于了解致命错误:无法在写入上下文中使用临时表达式的主要内容,如果未能解决你的问题,请参考以下文章

无法在上下文中使用 cuDNN 无,致命错误:cudnn.h:没有这样的文件或目录

奇怪的 PHP 错误:'不能在写上下文中使用函数返回值'

无法在具有现有ObjectWithID 的子上下文中检索临时对象:错误:

致命错误:不在对象上下文错误中使用 $this [重复]

PHP 致命错误:不在对象上下文中使用 $this

致命错误:“break”不在“loop”或“switch”上下文中