php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Return to Bug #60362
Patch fix_to_prevent_warning_on_isset_empty_for_55_and_a_half.patch revision 2011-12-21 14:34 UTC by alan_k@php.net
Patch isset_changed_warning_only_on_access.patch revision 2011-12-18 05:08 UTC by alan_k@php.net
Patch string_offset_trigger_notice.patch revision 2011-12-05 05:17 UTC by laruence@php.net
revision 2011-12-04 17:26 UTC by laruence@php.net
Patch fix_disabling_bad_string_offsets revision 2011-12-04 16:43 UTC by laruence@php.net
revision 2011-12-04 12:44 UTC by alan at akbkhome dot com
Patch first_effort_to_fix_this revision 2011-12-03 15:51 UTC by alan at akbkhome dot com
Patch bug60362.sub-sub-keys.phpt revision 2011-11-23 01:40 UTC by danielc at analysisandsolutions dot com

Patch bug60362.sub-sub-keys.phpt for Arrays related Bug #60362

Patch version 2011-11-23 01:40 UTC

Return to Bug #60362 | Download this patch
Patch Revisions:

Developer: danielc@analysisandsolutions.com

--TEST--
non-existent sub-sub keys should not have values
--CREDITS--
Daniel Convissor <danielc@php.net>
--FILE--
<?php
$arr = array('exists' => 'foo');

if (isset($arr['exists']['non_existent'])) {
    echo "expected: sub-key 'non_existent' is set: ";
    var_dump($arr['exists']['non_existent']);
} else {
    echo "BEHAVIOR CHANGED: sub-key 'non_existent' is not set.\n";
}
if (isset($arr['exists'][1])) {
    echo "expected: sub-key 1 is set: ";
    var_dump($arr['exists'][1]);
} else {
    echo "BEHAVIOR CHANGED: sub-key 1 is not set.\n";
}

echo "-------------------\n";
if (isset($arr['exists']['non_existent']['sub_sub'])) {
    echo "BEHAVIOR CHANGED: sub-key 'sub_sub' is set: ";
    var_dump($arr['exists']['non_existent']['sub_sub']);
} else {
    echo "good: sub-sub-key 'sub_sub' is not set.\n";
}
if (isset($arr['exists'][1][0])) {
    echo "BEHAVIOR CHANGED: sub-sub-key 0 is set: ";
    var_dump($arr['exists'][1][0]);
} else {
    echo "good: sub-sub-key 0 is not set.\n";
}

echo "-------------------\n";
if (empty($arr['exists']['non_existent'])) {
    echo "BEHAVIOR CHANGED: sub-key 'non_existent' is empty.\n";
} else {
    echo "expected: sub-key 'non_existent' is not empty: ";
    var_dump($arr['exists']['non_existent']);
}
if (empty($arr['exists'][1])) {
    echo "BEHAVIOR CHANGED: sub-key 1 is empty.\n";
} else {
    echo "expected: sub-key 1 is NOT empty: ";
    var_dump($arr['exists'][1]);
}

echo "-------------------\n";
if (empty($arr['exists']['non_existent']['sub_sub'])) {
    echo "good: sub-sub-key 'sub_sub' is empty.\n";
} else {
    echo "BEHAVIOR CHANGED: sub-sub-key 'sub_sub' is not empty: ";
    var_dump($arr['exists']['non_existent']['sub_sub']);
}
if (empty($arr['exists'][1][0])) {
    echo "good: sub-sub-key 0 is empty.\n";
} else {
    echo "BEHAVIOR CHANGED: sub-sub-key 0 is not empty: ";
    var_dump($arr['exists'][1][0]);
}
--EXPECT--
expected: sub-key 'non_existent' is set: string(1) "f"
expected: sub-key 1 is set: string(1) "o"
-------------------
good: sub-sub-key 'sub_sub' is not set.
good: sub-sub-key 0 is not set.
-------------------
expected: sub-key 'non_existent' is not empty: string(1) "f"
expected: sub-key 1 is NOT empty: string(1) "o"
-------------------
good: sub-sub-key 'sub_sub' is empty.
good: sub-sub-key 0 is empty.
 
PHP Copyright © 2001-2014 The PHP Group
All rights reserved.
Last updated: Thu Apr 24 19:01:53 2014 UTC