PHP致命错误:无法在写上下文中使用函数返回值

时间:2016-04-04 14:18:43

标签: php paypal

我将我的网站连接到PayPal using this excellent guide

我之前没有遇到任何问题,但是我收到了以下错误:

PHP Fatal error:  Can't use function return value in write context

它似乎是由这行代码引起的:

if(!empty(_SESSION('ppl_products'))&&!empty(_SESSION('ppl_charges'))){

这个错误是什么意思?当我在单独托管上连接paypal API时,我没有得到它。这是服务器问题吗?

2 个答案:

答案 0 :(得分:2)

empty()是一种语言结构。它使用变量名称。因此,你不能写信给它。函数的返回写出变量。

你最好的办法是省略empty并检查回报的真实性:

if(_SESSION('ppl_products') && _SESSION('ppl_charges')){

然后,如果_SESSION不是函数,并且您正在尝试访问全局会话变量,那么您正在做一些错误,并且您必须这样做:

if(!empty($_SESSION['ppl_products'])&&!empty($_SESSION['ppl_charges'])){

答案 1 :(得分:0)

这个错误对我来说很熟悉,因为在使用带有isset的函数返回值时我遇到了同样的问题(如:isset(myFunction()))。因为,kunststube.net points outemptyisset无法做到这一点。

虽然我没有在这里看到一个明显的函数调用(也许有一个在舞台上发生?),你可以尝试用!empty($something)代替$something == true,这是等价的,但可能会给你更多提示至于错误在哪里。