if
(track_vars_array)
{
symtable1=Z_ARRVAL_P(track_vars_array);
}
else
if
(PG(register_globals))
{
symtable1=EG(active_symbol_table);
}
if
(!symtable1)
{
/* Nothing to do */
zval_dtor(val);
return;
}
/*
* Prepare variable name
*/
/* ignore leading spaces in the variable name */
while
(*var&& *var=='
')
{
var++;
}
/* ensure that we don't have spaces or dots in the variable name (not binary safe) */
//特别注意以下这段。。。。
for
(p=var; *p;p++)
{
if
(*p=='
'|| *p=='.')
{
*p='_';
}
else
if
(*p=='[')
{
is_array=1;
ip=p;
*p=0;
break;
}
....以下省略