当前位置: 首页 > 后端技术 > PHP

PHP变量范围

时间:2023-03-30 01:06:11 PHP

以下为PHP中的各种变化量在底层实际中是如何存储的。变化量:$temp='temp';$temp2=$temp;//keyp*executor_globals.symbol_table.arData[7].key.val@4p*executor_globals.symbol_table.arData[8].key.val@4//valuep*executor_globals.symbol_table.arData[7].val.value.zv.value.str.val@4p*executor_globals.symbol_table.arData[8].val.value.zv.value.str.val@4$temp='temp';$temp2=&$temp;//valuep*executor_globals.symbol_table.arData[7].val.value.zv.value.ref.val.value.str.val@4p*executor_globals.symbol_table.arData[8].val.value.zv.value.ref.val.value.str.val@4方法:functiontest(){$temp='温度';static$test='test';}//函数名p*executor_globals.function_table.arData[924].key.val@4//函数体p*executor_globals.function_table.arData[924].val.value.func//函数临时变量keyp*executor_globals.function_table.arData[924].val.value.func.op_array.vars[0].val@4//函数临时变量valuep*executor_globals.function_table.arData[924].val.value.func.op_array.literals[0].value.str.val@4//函数静态变量keyp*executor_globals.function_table.arData[924].val.value.func.op_array.static_variables.arData[0].key.val@2//函数静态变量值p*executor_globals.function_table.arData[924].val.value.func.op_array.static_variables.arData[0].val.value.ref.val.value.str.val@4const://phpdefine('AA','aa');//keyp*executor_globals.zend_constants.arData[849].key.val@2//valuep*executor_globals.zend_constants.arData[849].val.value.zv.value.str.val@2class://phpclassApple{public$a='avalue';public$a2='avalue';公共静态$b='bvalue';公共静态$b2='bvalue';constE='评估';constF='fvalue';公共函数测试(){$c='cvalue';vr_dump($this->a,$c);}publicstaticfunctiontest2(){$d='dvalue';vr_dump(self::$b,$d);}}$obj=newApple();$obj->test();Apple::test2();//类名class_table中保存类名时不区分大小写,而是类名本身在class_entry中还是有大写和小写的p*executor_globals.class_table.arData[153].key.val@5//小写p*executor_globals.class_table.arData[153].val.value.ce.name.val@5//保持原型//classbodyp*executor_globals.class_table.arData[153].val.value.ce//类保护keyp*executor_globals.class_table.arData[153].val.value.ce.properties_info.arData[0].key.val@2//类保护valuep*executor_globals.class_table.arData[153].val.value.ce.default_properties_table.value.str[0].val@6//类静态保护值p*executor_globals.class_table.arData[153].val.value.ce.default_static_members_table.value.str[0].val@6//类常量namep*executor_globals.class_table.arData[153].val.value.ce.constants_table.arData[0].key//类常量valuep*executor_globals.class_table.arData[153].val.value.ce.constants_table.arData[0].val.value.zv.value.str.val@6//类函数名称p*executor_globals.class_table.arData[153].val.value.ce.function_table.arData[0].key.val@4//类函数体p*executor_globals.class_table.arData[153].val.value.ce.function_table.arData[0].val.value.func//类函数临时变量p*executor_globals.class_table.arData[153].val.value.ce.function_table.arData[0].val.value.func.op_array.vars[0].val