php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #76135 isset should support expressions like empty does
Submitted: 2018-03-22 05:11 UTC Modified: 2018-03-22 05:25 UTC
From: faith dot morante at gmail dot com Assigned:
Status: Open Package: Scripting Engine problem
PHP Version: 7.1.15 OS:
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2018-03-22 05:11 UTC] faith dot morante at gmail dot com
Description:
------------
---
From manual page: http://www.php.net/function.isset
---


Getting this error:
Cannot use isset() on the result of an expression (you can use "null !== expression" instead) on line number 3

When explicitly passing a data in isset. Passing a variable with the same data works,though.

Test script:
---------------
var_dump(isset(null));

Expected result:
----------------
false

Actual result:
--------------
Cannot use isset() on the result of an expression (you can use "null !== expression" instead) on line number 3

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2018-03-22 05:17 UTC] requinix@php.net
-Status: Open +Status: Not a bug
 [2018-03-22 05:17 UTC] requinix@php.net
Don't use isset on the result of an expression.

If you're trying to say that the documentation does not mention this, it does:
> Warning: isset() only works with variables as passing anything else will result in a parse error.
 [2018-03-22 05:21 UTC] faith dot morante at gmail dot com
I see, thanks!
But how come the empty function works with non-variables?
 [2018-03-22 05:25 UTC] requinix@php.net
-Summary: Issue with Isset +Summary: isset should support expressions like empty does -Status: Not a bug +Status: Open -Type: Documentation Problem +Type: Feature/Change Request -Package: Documentation problem +Package: Scripting Engine problem
 [2018-03-22 05:25 UTC] requinix@php.net
Why does any function work the way it does?

I don't know of any reason why isset shouldn't work on expressions. I don't like inconsistencies. Let's make this a feature request instead.
 
PHP Copyright © 2001-2019 The PHP Group
All rights reserved.
Last updated: Sun May 19 13:01:26 2019 UTC