On Thu, 2003-08-14 at 13:17, Mårten Gustafson wrote: > Lars Torben Wilson ([EMAIL PROTECTED]) wrote: > > unset($foo) is not the same as $foo = NULL, which is one way this > > According to the manual, it is. > http://www.php.net/manual/en/language.types.null.php > > /mårten.
According to the behaviour of the language, it is not, as evidenced by array_key_exists(): <?php echo "<h3>Array testing with variable_exists()</h3>"; echo "\$arr = array(1 => null, 2 => array(1 => 3, 2 => null));\n\n"; $arr = array(1 => null, 2 => array(1 => 3, 2 => null)); echo "variable_exists(\$arr[1]): " . (variable_exists($arr[1]) ? 'yes' : 'no') . " (should be yes)\n"; echo "variable_exists(\$arr[2]): " . (variable_exists($arr[2]) ? 'yes' : 'no') . " (should be yes)\n"; echo "variable_exists(\$arr[3]): " . (variable_exists($arr[3]) ? 'yes' : 'no') . " (should be no)\n"; echo "variable_exists(\$arr[1][2]): " . (variable_exists($arr[1][2]) ? 'yes' : 'no') . " (should be no)\n"; echo "variable_exists(\$arr[2][1]): " . (variable_exists($arr[2][1]) ? 'yes' : 'no') . " (should be yes)\n"; echo "variable_exists(\$arr[2][2]): " . (variable_exists($arr[2][2]) ? 'yes' : 'no') . " (should be yes)\n"; echo "variable_exists(\$arr[2][3]): " . (variable_exists($arr[2][3]) ? 'yes' : 'no') . " (should be no)\n"; echo "\$arr[2][1] = NULL;\n"; $arr[2][1] = NULL; echo "isset(\$arr[2][1]): " . (isset($arr[2][1]) ? 'yes' : 'no') . " (should be yes)\n"; echo "variable_exists(\$arr[2][1]): " . (variable_exists($arr[2][1]) ? 'yes' : 'no') . " (should be yes)\n"; echo "array_key_exists(1, \$arr[2]): " . (array_key_exists(1, $arr[2]) ? 'yes' : 'no') . " (should be yes)\n"; echo "unset(\$arr[2][2])\n"; unset($arr[2][2]); echo "isset(\$arr[2][2]): " . (isset($arr[2][2]) ? 'yes' : 'no') . " (should be no)\n"; echo "variable_exists(\$arr[2][2]): " . (variable_exists($arr[2][2]) ? 'yes' : 'no') . " (should be no)\n"; echo "array_key_exists(2, \$arr[2]): " . (array_key_exists(2, $arr[2]) ? 'yes' : 'no') . " (should be no)\n"; ?> OUTPUT: Array testing with variable_exists() $arr = array(1 => null, 2 => array(1 => 3, 2 => null)); variable_exists($arr[1]): yes (should be yes) variable_exists($arr[2]): yes (should be yes) variable_exists($arr[3]): no (should be no) variable_exists($arr[1][2]): no (should be no) variable_exists($arr[2][1]): yes (should be yes) variable_exists($arr[2][2]): yes (should be yes) variable_exists($arr[2][3]): no (should be no) $arr[2][1] = NULL; isset($arr[2][1]): no (should be yes) variable_exists($arr[2][1]): yes (should be yes) array_key_exists(1, $arr[2]): yes (should be yes) unset($arr[2][2]) isset($arr[2][2]): no (should be no) variable_exists($arr[2][2]): no (should be no) array_key_exists(2, $arr[2]): no (should be no) -- Torben Wilson <[EMAIL PROTECTED]> +1.604.709.0506 http://www.thebuttlesschaps.com http://www.inflatableeye.com http://www.hybrid17.com http://www.themainonmain.com -----==== Boycott Starbucks! http://www.haidabuckscafe.com ====----- -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php