php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #44587 Problems whene asking if a key of an array isset, and the variable is not array
Submitted: 2008-04-01 10:48 UTC Modified: 2008-04-02 00:03 UTC
From: francesco at facconi dot eu Assigned:
Status: Not a bug Package: Arrays related
PHP Version: 5.2.5 OS: Linux 2.6.18-6-686
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: francesco at facconi dot eu
New email:
PHP Version: OS:

 

 [2008-04-01 10:48 UTC] francesco at facconi dot eu
Description:
------------
I was evaluating a variable with isset. I don't know what kind of variable it is before evaluating.

If I do a isset of a key of an array, and the variable is NOT an array, I receive a true response. I think this is not a good result.

Reproduce code:
---------------
function verify($var) {
  if (isset($var['key'])) {
    echo "OK";
  } else {
    echo "NO";
  }
  return;
}

verify ('asdfghjkl');
verify (array('key'=>'1', 'option'=>'2');
verify (array('action'=>'1', 'option'=>'2');

Expected result:
----------------
## verify ('asdfghjkl');
NO

## verify (array('key'=>'1', 'option'=>'2');
OK

## verify (array('action'=>'1', 'option'=>'2');
NO

Actual result:
--------------
## verify ('asdfghjkl');
OK

## verify (array('key'=>'1', 'option'=>'2');
OK

## verify (array('action'=>'1', 'option'=>'2');
NO

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2008-04-02 00:03 UTC] felipe@php.net
This is expected, the string key is converted to integer.
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Fri Jul 04 23:01:33 2025 UTC