ID: 29038 User updated by: tomas_matousek at hotmail dot com Reported By: tomas_matousek at hotmail dot com -Status: Bogus +Status: Open Bug Type: Arrays related Operating System: WinXP PHP Version: 5.0.0RC3 New Comment:
No, skip it, like any other invalid variable name, e.g. "x y". Previous Comments: ------------------------------------------------------------------------ [2004-07-07 00:11:58] [EMAIL PROTECTED] What would you have PHP do? Create a variable with no name? ------------------------------------------------------------------------ [2004-07-06 22:20:13] tomas_matousek at hotmail dot com Description: ------------ The extract() function with EXTR_PREFIX_SAME option specified prefixes variable name which is an empty string, although such variable doesn't exists in the scope where extract is called. Manual says: "EXTR_PREFIX_SAME If there is a collision, prefix the variable name with prefix." And this is not true for an empty string. A bug is possibly here (!!!): -- array.c ---------------------------- case EXTR_PREFIX_SAME: if (!var_exists) smart_str_appendl(&final_name, var_name, var_name_len); /* break omitted intentionally */ case EXTR_PREFIX_ALL: if (final_name.len == 0 !!!) { ... break; --------------------------------------- Reproduce code: --------------- function f() { extract(array("" => 1),EXTR_PREFIX_SAME,"prefix"); print_r(get_defined_vars()); { f(); Expected result: ---------------- Array ( ) Actual result: -------------- Array ( [prefix_] => 1 ) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=29038&edit=1