有段代码:

 $a1 = 'Hello world!';
$a2 = &$a1;
echo "test1 :";
debug_zval_dump($a1); $b1 = 'Hello world!';
echo "test2 :";
debug_zval_dump($b1);

输出:

本来期望第二个的测试输出中,refcount的值应该和第一个一样的。但是因为编译器对第二个的测试的函数传值过程进行的优化,采用了 "写实复制" 的计数,所以只有在debug_zval_dump的函数内部对传进的参数有进行写操作的时候,才真正的拷贝变量。

为什么第一个不也优化一下呢?

Link :http://www.php.net/manual/zh/function.debug-zval-dump.php

PHP 奇葩的debug_zval_dump的输出的更多相关文章

  1. C++ 输出Cstring遇见的奇葩问题

    先上代码 // webConteng.cpp : Defines the entry point for the console application. // #include "stda ...

  2. 深入理解PHP原理之变量分离/引用

    19 Sep 08 深入理解PHP原理之变量分离/引用(Variables Separation) 作者: Laruence(   ) 本文地址: http://www.laruence.com/20 ...

  3. php核心技术与最佳实践知识点(下)

    九.缓存 1.缓存三大要素:命中率, 缓存更新策略,缓存最大数据量 2.命中率(mysql为例):mysql提供了一系列的query cache的global status来提现数据库缓存的情况: s ...

  4. UVA 11100 The Trip, 2007 贪心(输出比较奇葩)

    题意:给出n个包的大小,规定一个大包能装一个小包,问最少能装成几个包. 只要排序,然后取连续出现次数最多的数的那个次数.输出注意需要等距输出. 代码: /* * Author: illuz <i ...

  5. .NET程序员细数Oracle与众不同的那些奇葩点

    扯淡 距上次接触 Oracle 数据库已经是 N 年前的事了,Oracle 的工作方式以及某些点很特别,那会就感觉,这货就是一个奇葩!最近重拾记忆,一直在折腾 Oracle,因为 Oracle 与众不 ...

  6. 自制奇葩vb面试题,看你能对几道

    这些题都比较奇葩,所以做出选择之前请仔细考虑. 答题过程中不要离开当前页面,不要去试代码,也不要查参考或问别人. 转载请说明作者是 Nukepayload2 Vb版本:14 默认的.net frame ...

  7. 那些年我们追过的C#奇葩关键字——忐忑[转载]

    原文地址:http://www.cnblogs.com/WeiGe/p/3315807.html 免责申明:本文为转载,如果伤及原作者利益,请与本博主邮箱313887852@qq.com联系并注明事宜 ...

  8. 两个奇葩的C/C++问题

    今天为大家介绍几个奇葩的C/C++问题. 1 大家看看下面的输出结果是什么呢? #include <stdio.h> #include <stdlib.h>   void ma ...

  9. NGINX的奇淫技巧 —— 3. 不同域名输出不同伺服器标识

    NGINX的奇淫技巧 —— 3. 不同域名输出不同伺服器标识 ARGUS 1月13日 发布 推荐 0 推荐 收藏 6 收藏,707 浏览 大家或许会有这种奇葩的需求...要是同一台主机上, 需要针对不 ...

随机推荐

  1. Linux服务器端口access改为trunk all

    1.确认可用网卡及vlan id eth5可用 vlan25:10.118.25.0/24 2.编辑网卡配置文件 vim /etc/sysconfig/network-scripts/ifcfg-et ...

  2. iOS -打包上传成功,在"构建版本"一直刷不出来

    今天提交版本到appstore,构建版本一直不出来,等了一天也没有出来,其实就是权限问题,iOS13 来了,所以面临的问题随之而来,苹果给邮箱发了这段话: Dear Developer,We iden ...

  3. 基于LeNet的手写汉字识别(caffe)

    我假设已经成功编译caffe,如果没有,请参考http://caffe.berkeleyvision.org/installation.html 在本教程中,我假设你的caffe安装目录是CAFFE_ ...

  4. C#加载前生成静态网页

    using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI ...

  5. charles 代理设置

    本文参考:charles 代理设置 charles的代理身份配置区域 这里应该没啥好说的了, window/MAXCos proxy 是charles的代理启用开关: 如果你选中,则表示电脑使用cha ...

  6. 基于vue实现搜索高亮关键字

    有一个需求是在已有列表中搜索关键词,然后在列表中展示含有相关关键字的数据项并且对关键字进行高亮显示,所以该需求需要解决的就两个问题: 1.搜索关键词过滤列表数据 2.每个列表高亮关键字 ps: 此问题 ...

  7. 了解一下Java SPI的原理

    了解一下Java SPI的原理 1 为什么写这篇文章? 近期,本人在学习dubbo相关的知识,但是在dubbo官网中有提到Java的 SPI,这个名词之前未接触过,所以就去看了看,感觉还是有很多地方有 ...

  8. Storm入门,看这篇就够了

    部分一:Srorm 简介 1.1 Storm是实时的数据流,Hadoop是批量离线数据 起源背景 Twitter 开源的一个类似于Hadoop的实时数据处理框架 Storm是由Nathan Marz ...

  9. Docker运行mysql,redis,oracle容器和SpringBoot项目

    dokcer运行SpringBoot项目 from frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD target/demo-0.0.1-SNAPSHOT ...

  10. 数据结构与算法(C/C++版)【排序】

    第八章<排序>  一.直接插入排序  //直接插入排序 //算法思想:每趟将一个待排的关键字按照其值的大小插入到已经排好的部分有序序列的适当位置上,直到所有待排关键字都被插入到有序序列中为 ...