Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.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 $this->_Zend框架中的getParam和empty()_Php_Zend Framework - Fatal编程技术网

Php $this->_Zend框架中的getParam和empty()

Php $this->_Zend框架中的getParam和empty(),php,zend-framework,Php,Zend Framework,所以我提交了一个表单,我试图检查一个字段是否为空,我这样做: if(empty($this->_getParam('my_field'))) 它不起作用,但如果我只使用$\u POST['my\u field] 致命错误:无法在..中的写入上下文中使用方法返回值 我应该如何使用$this->\u getParam才能工作?因为我猜在框架上使用$\u POST不是一个好的选择。这是您的问题:不能在写上下文中使用方法返回值 这里有一个很好的解释,为什么我们必须这样做: 要使用empty(),

所以我提交了一个表单,我试图检查一个字段是否为空,我这样做:

if(empty($this->_getParam('my_field')))
它不起作用,但如果我只使用
$\u POST['my\u field]

致命错误:无法在..中的写入上下文中使用方法返回值


我应该如何使用
$this->\u getParam
才能工作?因为我猜在框架上使用
$\u POST
不是一个好的选择。

这是您的问题:不能在写上下文中使用方法返回值

这里有一个很好的解释,为什么我们必须这样做:

要使用empty(),必须首先获取返回值

$field = $this->_getParam('my_field');
if(empty($field)){
  //is empty
}

(更新:这不是PHP版本>=5.5的问题)空($This->_getParam('my_field'))可以正常工作。

这是您的问题:无法在写上下文中使用方法返回值。

这里有一个很好的解释,为什么我们必须这样做:

要使用empty(),必须首先获取返回值

$field = $this->_getParam('my_field');
if(empty($field)){
  //is empty
}
(更新:这不是PHP版本>=5.5的问题)空($This->_getParam('my_field'))就可以了。

-like
isset
-不是一个真正的函数,而是一个语言构造。因此,只能将变量用作其唯一参数(没有表达式,没有函数结果)

但是,您可以使用临时变量:

$my_field = $this->_getParam('my_field');
if(empty($my_field))
....
-like
isset
-不是一个真正的函数,而是一个语言构造。因此,只能将变量用作其唯一参数(没有表达式,没有函数结果)

但是,您可以使用临时变量:

$my_field = $this->_getParam('my_field');
if(empty($my_field))
....

其他答案是正确的。一种主动方法是为对
\u getParam()
的调用提供默认值,例如
null
。然后你可以打电话

is_null($this->_getParam('myfield',null))

这种方法可能更可取,因为Zend已经确定了该参数的空值。

其他答案是正确的。一种主动方法是为对
\u getParam()
的调用提供默认值,例如
null
。然后你可以打电话

is_null($this->_getParam('myfield',null))

此方法可能更可取,因为Zend已经确定了该参数的空值。

您可以使用临时变量

$field = $this->_getParam('my_field');

if(empty($field)){
  //you code here
}

可以使用临时变量

$field = $this->_getParam('my_field');

if(empty($field)){
  //you code here
}