美文网首页
PHP引用变量剖析

PHP引用变量剖析

作者: 简简天天 | 来源:发表于2020-04-11 14:40 被阅读0次

引用变量的定义

用不同的名字访问同一个变量的内容。
使用&符号

引用变量的工作原理

// 定义一个变量
$a = range(0,1000);//开辟内存
var_dump(memory_get_usage());//int(442160)
//定义变量b,将a变量的值赋值给b
//COW Copy On Write才会重新开辟内存
$b = $a;//不会开辟新空间
var_dump(memory_get_usage());//int(401200)
//对a进行修改
$a = range(0,1000);//开辟新空间
var_dump(memory_get_usage());//int(479112)

// 定义一个变量
$c = range(0,1000);//开辟空间
var_dump(memory_get_usage());//int(516032)
$d = &$c;//不会开辟新空间
var_dump(memory_get_usage());//int(516056)
//对a进行修改
$d = range(0,1000);//不会开辟新空间
var_dump(memory_get_usage());//int(516056)

分析验证引用变量的工作原理

zend引擎zval结构体用来存储变量
refcount指向某一内存空间的变量个数
is_ref是否有引用

$a = range(0,3);
echo xdebug_debug_zval('a')."<br/>";
$b = $a;
echo xdebug_debug_zval('a')."<br/>";
$a = range(0,3);
echo xdebug_debug_zval('a')."<br/>";
image.png
$c = range(0,3);
echo xdebug_debug_zval('c')."<br/>";
$d = &$c;
echo xdebug_debug_zval('c')."<br/>";
$d = range(0,3);
echo xdebug_debug_zval('c')."<br/>";
image.png

相关文章

  • PHP引用变量剖析

    引用变量的定义 用不同的名字访问同一个变量的内容。使用&符号 引用变量的工作原理 分析验证引用变量的工作原理 ze...

  • 2.1引用变量考点

    全方位剖析 回顾真题考点分析一网打尽 什么是引用变量?在PHP当中,用什么符号定义引用变量? 思考 考官考点 PH...

  • 2. php基础-引用变量的考点

    引用变量的考点 真题: 什么是引用变量? 在PHP当中,用什么符号定义引用变量? 考点:PHP的引用变量的概念及定...

  • php基础知识面试点

    引用变量考察点 回顾真题什么是引用变量?在php中,用什么符号定义引用变量? 考点分析分析:考官考点PHP引用变量...

  • PHP之-基础知识考查

    引用变量 真题 什么是引用变量 在PHP中用什么符号定义引用变量(概念及定义方式 php引用变量的原理)1 用不同...

  • PHP

    PHP 标签(空格分隔): 面试 PHP的引用变量的概念及定义 延伸: PHP引用变量的原理 概念:在 PHP 中...

  • PHP——2(PHP变量作用域)

    PHP——2(PHP变量作用域)PHP——3(PHP变量分离/引用(Variables Separation))为...

  • PHP——3(PHP变量分离/引用(Variables Sepa

    PHP——2(PHP变量作用域)PHP——3(PHP变量分离/引用(Variables Separation))为...

  • PHP——4(PHP赋值行为)

    PHP——2(PHP变量作用域)PHP——3(PHP变量分离/引用(Variables Separation))为...

  • PHP——1(PHP变量的存储结构)

    PHP——2(PHP变量作用域)PHP——3(PHP变量分离/引用(Variables Separation))为...

网友评论

      本文标题:PHP引用变量剖析

      本文链接:https://www.haomeiwen.com/subject/airymhtx.html