首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

这是一个php变量变量bug吗?

这不是一个 PHP 变量变量 bug。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 这是EnterLib PIAB的BUG

    也正是其来截机制本身的局限,当我们才用PIAB的方式进行对象的创建的时候,要求本创建对象的类型要么实现某一个接口,要么继承MarshalByRefObject类型。...但是当我们让抽象基类继承自MarshalByRefObject就不行了,我个人觉得这是微软需要改进的地方。...为此便于演示,我创建了一个自定义的CallHandler:FooCallHandler。在Invoke方法中,我在调用目标方法前后在控制台输出相应的文字,表明该CallHandler得以正常执行。...三、让FooBase继承MarshalByRefObject 上面我们说过,能被PIAB进行拦截的类型要么实现一个接口,要么继承MarshalByReObject类。...不过,为了让PIAB提供对抽象类的支持而多加上一个非抽象的基类,在设计上是很丑陋的,我个人是不能接受的。实际上,我觉得这是PIAB自身的一个BUG,或者是自身欠考虑的地方。

    55270

    PHP变量

    变量可以理解为只是一个代表一定存储空间及其中的数据的一个“标识符”——也就是一个名字。...一、变量的基本操作 赋值 取值 isset(变量名)判断是否存在,或是否有数据 $a = isset($b); //false$c = 2;$v = isset($c); //true$v1 = false...)删除变量 二、变量的命名规则   以字母或下划线开头,后跟任意数量(含0个)的字母,数字和下划线。...值传递     这两个变量指向两个不同的内存空间     $a = 1; b = a; 引用传递     两个变量指向同一个内存空间,即具有相同的值     $a = 1;...$b = & $a; 四、可变变量   $a = "b";   $b = 10;   echo $$a; // 输出10   这种连续出现“$”的变量形式,就是所谓的“可变变量”  五、预定义变量 $_

    6.6K50

    PHP声明变量

    2.4.1  创建变量 PHP中的变量是用美元符号($)作为前缀的标示符,标识符是一个标识不同对象的符号,如变量的名称,函数的名称,或者其他用户自定义对象的名称。...l  标识符名称不能与任何PHP预定义关键字相同。 在创建变量的过程中,先声明变量,再给变量赋值是一个好的习惯。...由于PHP是一种弱类型语言,在声明变量时,不需要显示声明变量变量可以存放任何类型的值,在PHP中,变量在运行时进行类型检查,并且可以用另一个不同类型的值取代变量的值,下面声明一个变量,并且让另一个不同类型的值取代变量的值...> 执行代码2.13,执行结果如下所示: 200 10 有输出结果知,该段代码输出了两个不同的值,这是因为函数AddCount函数中的变量为局部变量,修改局部变量的值不会影响函数外部的任何值,函数中的变量在程序结束时被抛弃...3.全局变量 全局变量可以在整个PHP程序中,任何地方访问,但是如果要修改一个全局变量,必须在修改该变量的函数中显式的声明为全局变量,在函数中显示声明全局变量很简单,只需在函数中使用global关键字声明就可以

    4K110

    PHP-变量

    除了$以外,以字母、下划线开头,后面跟着数字、字母、下划线 变量名区分大小写,aa和aa和aa和Aa是两个空间 下列变量是否合法 $a 合法 $a1 合法 $1a 不合法 $_1a 合法 注意:PHP...php $a=10; $name='Tom'; ?> 1.7.2 可变变量 变量名可以变,将变量名存储在另外一个变量中 例题 <?...小结: 1、参数的传递有两种,值传递和地址传递 2、&表示获取变量的地址 3、值传递中,一个变量变了,另一个变量没有影响,因为是两个空间 4、地址传递中,一个变量变了,另一个也变了,因为两个变量指向同一个空间...1.7.4 销毁变量 用unset()来销毁变量,销毁的是变量名,变量值由PHP垃圾回收机制销毁 <?...php $num1=10; $num2=&$num1; unset($num1); //销毁的是变量名 echo $num2; //10 没有变量引用的值是垃圾。

    2.4K20

    php面试笔记-php基础知识-变量和引用变量

    变量和引用变量。” 面试是从php初学者到php程序员必不可少的一步,很多的面试官更喜欢基础知识扎实的学生。而变量和引用变量是大家比较容易混淆的一点,今天冷月来大家做一个梳理。...首先,变量是什么? 在PHP变量是用于存储信息的"容器"。我们先申明一个变量: $a = 1; 在上面的实例中,我们可以注意到,在PHP中声明变量使用“$”美元符而不用声明具体变量的类型。...这是因为PHP 是一门弱类型语言,PHP 会根据变量的值,自动把变量转换为正确的数据类型。而在像C、JAVA等强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。...在了解如何声明PHP变量后,我们在来了解一下PHP引用变量 首先,让我们来看一道经典的面试题:“什么是引用变量?在PHP中,用什么符号来定义应用变量PHP引用变量的原理是什么?” 1....在PHP中引用的意思是:用不同的变量名字访问同一个变量内容,使用&表示。

    1.7K20

    PHP中的变量

    我们也可以理解为,变量就像一个购物袋,我们可以用来装苹果、榴莲(当然也可以用来装玫瑰) 需要注意的是,一般情况下一个变量只能装一个(不要太贪心)值,除非是复合变量(后面变量类型时会介绍,比如:数组,对象就是复合型的...) 当我们放进去一个苹果后,再放进榴莲的时候,苹果就被替换掉,再放入香蕉,那么榴莲就被替换了 变量是用于存储信息的”容器 我们在PHP中的变量也是如此。...> PHP是一门弱类型语言 不必向PHP声明该变量的数据类型,PHP会根据变量的值,自动把变量转换为正确的数据类型 PHP变量作用域 变量的作用域是脚本中的变量可被引用,使用的部门 PHP有四种不同的变量作用域...除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global关键字。 在 PHP函数内部声明的变量是局部变量,仅能在函数内部访问 static作用域 当一个函数完成时,它的所有变量通常都会被删除,然而,有时,你希望某个局部变量不要被删除 要做到这一点,在第一次声明变量时使用static关键字 <?

    28310

    PHP 常量与变量

    此常量是在编译时定义的(PHP 5.3.0 新增)。  【变量】       PHP 中的变量一个美元符号后面跟变量名来表示。变量名是区分大小写的。...变量名与 PHP 中其它的标签一样遵循相同的规则。一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。       变量默认总是传值赋值。...使用引用赋值,简单地将一个 & 符号加到将要赋值的变量前(源变量)。 预定义变量       PHP 4.2.0 以及后续版本中,PHP 指令  register_globals 的默认值为 off。...这是 PHP一个主要变化。让 register_globals 的值为 off 将影响到预定义变量集在全局范围内的有效性。...这可能引起一些问题,有些人可能不小心就改变了一个全局变量PHP 中全局变量在函数中使用时必须声明为 global或者用特殊的 PHP 自定义  $GLOBALS 数组。

    6.3K20

    PHP变量范围

    PHP变量的作用域可以分为:超全局(全局变量的特殊类型,在局部范围里可直接使用),全局,局部,静态(是局部变量的特殊类型) 在PHP中,全局变量实际上是静态全局变量,如果不用unset显式的释放,那么等脚本运行结束全局变量才会被释放掉...:在一个脚本的任何作用域里都可以被访问,这些都是PHP内置的 $GLOBALS $_SERVER $_GET $_POST $_FILES $_SESSION...php $a = 0; function foo() { global $a; echo $a; } function foo2() { echo $GLOBALS['a'];...php function foo1() { $var = 0; $var++; return $var; } echo foo1(); echo foo1(); //输出都是1...;//输出11 $o2 = new t(); $o2->a();//输出12 t::aa();//输出11 $o1->aa();//输出12 $o2->aa();//输出13 从上面的代码中,可知如果一个类成员方法中有静态变量

    1.9K20

    bug诞生记——临时变量、栈变量导致的双杀

    这是bug诞生记》的第一篇文章。...本系列更想讲述的是一种“无心之过”,即因为相应知识点的缺乏,程序员想当然的做法导致的bug。         这篇我将讲述一个真实发生在工作中的例子。...此时一个具有“良知”但是“缺乏知识点”的同事将走上“犯罪”的道路,因为他将抱着“优化代码”的目的去产生了第一个bug。...精简了main函数,删除了std::string name局部变量,试图直接从get_name()获取const char*指针。他的想法是好的,但是这步将导致bug。        ...仅仅加了一个satan函数,就改变了结果?是的。这是由于之前那个做代码修改的同学对栈变量和栈帧不熟悉导致的。         如果要介绍栈变量和栈帧,这个就需要从计算机基础知识讲起。

    78420
    领券