如何在函数中使用php的isset函数?

3
以下IF语句会导致ZendFramework出错(屏幕会变成空白)。PhpStorm会在('page_reference')后的红色指示器中显示“预期变量”。有没有办法可以执行这个IF语句而不会导致错误?
if ( isset( $this->params()->fromRoute('page_reference') ) ) {

} else {

}

1
$this->params()->fromRoute('page_reference') 不是一个变量,你希望 isset 在这里做什么? - Dekel
你可能想要使用 !empty - Farkie
!empty 解决了这个问题。 - Ron Piggott
1个回答

1

正如您在php文档isset中看到的,它旨在在变量上下文中使用。

警告:isset()仅适用于变量,传递其他任何内容都将导致解析错误。要检查常量是否已设置,请使用defined()函数。

在这种情况下,可以通过简单的方式解决:

if ( $this->params()->fromRoute('page_reference') !== null ) {

} else {

}

注意,fromRoute的第二个参数$default = null,可用于在“page_reference”未定义时传递期望的值。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接