美文网首页
2. php基础-引用变量的考点

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

作者: ZhouJiping | 来源:发表于2017-10-24 22:18 被阅读41次

引用变量的考点

  • 真题: 什么是引用变量? 在PHP当中,用什么符号定义引用变量?
  • 考点:PHP的引用变量的概念及定义方式和PHP引用变量的原理
  • 概念:在PHP中引用意味着用不同的名字访问同一个变量内容。
  • 定义方式:使用 & 符号
  • 工作原理:

变量

// 定义一个变量
$a = range(0, 1000); // 创建一个0-1000的数组
var_dump(memory_get_usage()); // 查看内存使用情况
// 定义一个变量b, 将a的值赋给b
$b = $a; // $b 不会开辟空间,在 php 中使用 COW (Copy On Write) 
var_dump(memory_get_usage()); // 查看内存使用情况

// 对a进行修改, 也就是进行了写操作, 这时候$a重新开辟空间
$a = range(0, 1000); 
var_dump(memory_get_usage()); // 查看内存使用情况

结果:

int(558352) int(558352) int(595272)

看变量容器

// 变量容器 - Zval

$a = range(0, 3);
xdebug_debug_zval('a'); // 需要安装xdebug才能用这个函数

$b = $a;
xdebug_debug_zval('a');
    
$a = range(0, 3);
xdebug_debug_zval('a');

结果:

image.png

(refcount: 引用个数,is_ref: 是否是引用)

引用变量

$a = range(0, 1000); // 创建一个0-1000的数组
var_dump(memory_get_usage()); // 查看内存使用情况

$b = &$a;
var_dump(memory_get_usage());

$a = range(0, 1000); 
var_dump(memory_get_usage()); // 查看内存使用情况

结果

int(558352) int(558376) int(558376) // 内存使用差不多
// 变量容器 - Zval

$a = range(0, 3);
xdebug_debug_zval('a'); // 需要安装xdebug才能用这个函数

$b = &$a;
xdebug_debug_zval('a');
    
$a = range(0, 3);
xdebug_debug_zval('a');

看变量容器

image.png

关于 unset

$a = 1;
$b = &$a;
unset($b); // unset只会取消引用,不会销毁空间
echo $a; // 空间没有销毁,$a 还是有值
image.png

对象(默认引用传递)

class Person
{
    public $name = 'zhangsan';
}

$p1 = new Person;
xdebug_debug_zval('p1');

$p2 = $p1;
xdebug_debug_zval('p1');

$p2->name = 'lisi';
xdebug_debug_zval('p1');
image.png

举一反三

image.png

相关文章

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

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

  • php基础知识面试点

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

  • 2.1引用变量考点

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

  • PHP基础(一)总结

    PHP基础知识 1. 引用变量 概念:在PHP中引用意味着用不同的名字访问同一个变量内容。 定义方式:使用&符号 ...

  • PHP之-基础知识考查

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

  • PHP

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

  • 1.3基础的重要性

    重要性 以基础为前提的面试考察坚实基础的重要性保持谦卑之心 什么是引用变量?在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))为...

网友评论

      本文标题:2. php基础-引用变量的考点

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