为什么不能在isset中赋值一个变量?——php


Why can't I assign a variable inside of isset? - php

最近,我尝试在isset函数内部赋值一个变量。我试着这样做

if(isset($accountid =$_POST['Recipient']))
{
    // my code here ... 
} 
然而,当我这样做时,我收到错误
syntax error, unexpected '=', expecting ',' or ')'

这里是isset的文档,如果你想在你的答案中引用它。bool isset ( mixed $var [, mixed $... ] )

这不是最大的交易-但我很想知道为什么我不能做这些事情!

isset是一个语言结构,而不是一个真正的函数。在文档中有提到:

警告

isset()只对变量起作用,因为传递其他变量会导致其他结果在解析错误中。要检查是否设置了常量,请使用define ()函数。

您正在尝试传递语句,这可能是原因。这是我在php.net手册中找到的isset()注释。

http://php.net/manual/en/function.isset.php

isset()仅适用于变量,因为传递其他内容将导致解析错误。

您将一个不返回指向变量指针的操作放在一个期望变量指针的函数中。