您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php变量作用域的用法介绍(代码)

2024/5/1 21:37:09发布23次查看
本篇文章给大家带来的内容是关于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
方法:
function test(){  $temp = 'temp';  static $test = 'test';}// function namep *executor_globals.function_table.ardata[924].key.val@4// function bodyp *executor_globals.function_table.ardata[924].val.value.func// function temp variable keyp *executor_globals.function_table.ardata[924].val.value.func.op_array.vars[0].val@4// function temp variable valuep *executor_globals.function_table.ardata[924].val.value.func.op_array.literals[0].value.str.val@4// function static variable keyp *executor_globals.function_table.ardata[924].val.value.func.op_array.static_variables.ardata[0].key.val@2// function static variable valuep *executor_globals.function_table.ardata[924].val.value.func.op_array.static_variables.ardata[0].val.value.ref.val.value.str.val@4
常量:
// 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@2
class:
// phpclass apple{  public $a = 'avalue';  public $a2 = 'avalue';  public static $b = 'bvalue';  public static $b2 = 'bvalue';  const e = 'evalue';  const f = 'fvalue';  public function test(){    $c = 'cvalue';    vr_dump($this->a, $c);  }    public static function test2(){    $d = 'dvalue';    vr_dump(self::$b, $d);  }}$obj = new apple();$obj->test();apple::test2();// class name 类名保存在class_table的时候的 key 是不区分大小写的,但是类名字本身在 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 // 保持原样// class bodyp *executor_globals.class_table.ardata[153].val.value.ce// class protetry keyp *executor_globals.class_table.ardata[153].val.value.ce.properties_info.ardata[0].key.val@2// class protetry valuep *executor_globals.class_table.ardata[153].val.value.ce.default_properties_table.value.str[0].val@6// class static protetry valuep *executor_globals.class_table.ardata[153].val.value.ce.default_static_members_table.value.str[0].val@6// class constanct namep *executor_globals.class_table.ardata[153].val.value.ce.constants_table.ardata[0].key// class constanct valuep *executor_globals.class_table.ardata[153].val.value.ce.constants_table.ardata[0].val.value.zv.value.str.val@6// class function namep *executor_globals.class_table.ardata[153].val.value.ce.function_table.ardata[0].key.val@4// class function bodyp *executor_globals.class_table.ardata[153].val.value.ce.function_table.ardata[0].val.value.func// class function temp variablep *executor_globals.class_table.ardata[153].val.value.ce.function_table.ardata[0].val.value.func.op_array.vars[0].val
以上就是php变量作用域的用法介绍(代码)的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product