扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:朱先忠编译 来源:天极开发 2007年10月21日
关键字:
<?php $a = 1; $b = $a; $b += 5; ?> |
zval *get_var_and_separate(char *varname, int varname_len TSRMLS_DC) { zval **varval, *varcopy; if (zend_hash_find(EG(active_symbol_table),varname, varname_len + 1, (void**)&varval) == FAILURE) { /* 变量根本并不存在-失败而导致退出*/ return NULL; } if ((*varval)->refcount < 2) { /* varname是唯一的实际引用, *不需要进行分离 */ return *varval; } /* 否则,再复制一份zval*的值*/ MAKE_STD_ZVAL(varcopy); varcopy = *varval; /* 复制任何在zval*内的已分配的结构*/ zval_copy_ctor(varcopy); /*删除旧版本的varname *这将减少该过程中varval的refcount的值 */ zend_hash_del(EG(active_symbol_table), varname, varname_len + 1); /*初始化新创建的值的引用计数,并把它依附到 * varname变量 */ varcopy->refcount = 1; varcopy->is_ref = 0; zend_hash_add(EG(active_symbol_table), varname, varname_len + 1,&varcopy, sizeof(zval*), NULL); /*返回新的zval* */ return varcopy; } |
<?php $a = 1; $b = &$a; $b += 5; ?> |
if ((*varval)->is_ref || (*varval)->refcount < 2) { /* varname是唯一的实际引用, * 或者它是对其它变量的一个完全引用 *任何一种方式:都没有进行分离 */ return *varval; } |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者