1--TEST-- 2Bug #60362: non-existent sub-sub keys should not have values 3--FILE-- 4<?php 5$arr = array('exists' => 'foz'); 6 7if (isset($arr['exists']['non_existent'])) { 8 echo "sub-key 'non_existent' is set: "; 9 var_dump($arr['exists']['non_existent']); 10} else { 11 echo "sub-key 'non_existent' is not set.\n"; 12} 13if (isset($arr['exists'][1])) { 14 echo "sub-key 1 is set: "; 15 var_dump($arr['exists'][1]); 16} else { 17 echo "sub-key 1 is not set.\n"; 18} 19 20echo "-------------------\n"; 21if (isset($arr['exists']['non_existent']['sub_sub'])) { 22 echo "sub-key 'sub_sub' is set: "; 23 var_dump($arr['exists']['non_existent']['sub_sub']); 24} else { 25 echo "sub-sub-key 'sub_sub' is not set.\n"; 26} 27if (isset($arr['exists'][1][0])) { 28 echo "sub-sub-key 0 is set: "; 29 var_dump($arr['exists'][1][0]); 30} else { 31 echo "sub-sub-key 0 is not set.\n"; 32} 33 34echo "-------------------\n"; 35if (empty($arr['exists']['non_existent'])) { 36 echo "sub-key 'non_existent' is empty.\n"; 37} else { 38 echo "sub-key 'non_existent' is not empty: "; 39 var_dump($arr['exists']['non_existent']); 40} 41if (empty($arr['exists'][1])) { 42 echo "sub-key 1 is empty.\n"; 43} else { 44 echo "sub-key 1 is not empty: "; 45 var_dump($arr['exists'][1]); 46} 47 48echo "-------------------\n"; 49if (empty($arr['exists']['non_existent']['sub_sub'])) { 50 echo "sub-sub-key 'sub_sub' is empty.\n"; 51} else { 52 echo "sub-sub-key 'sub_sub' is not empty: "; 53 var_dump($arr['exists']['non_existent']['sub_sub']); 54} 55if (empty($arr['exists'][1][0])) { 56 echo "sub-sub-key 0 is empty.\n"; 57} else { 58 echo "sub-sub-key 0 is not empty: "; 59 var_dump($arr['exists'][1][0]); 60} 61echo "DONE"; 62--EXPECT-- 63sub-key 'non_existent' is not set. 64sub-key 1 is set: string(1) "o" 65------------------- 66sub-sub-key 'sub_sub' is not set. 67sub-sub-key 0 is set: string(1) "o" 68------------------- 69sub-key 'non_existent' is empty. 70sub-key 1 is not empty: string(1) "o" 71------------------- 72sub-sub-key 'sub_sub' is empty. 73sub-sub-key 0 is not empty: string(1) "o" 74DONE 75