‘壹’ php 类中如何调用类外的变量
你好,有两种方式可以解决问题。
1,将$m设置为超级全局变量..........****这种方法不推荐使用****
$GLOBALS['m']="mmmmmmm";//将m设置为超级全局变量
$a=$GLOBALS['m'];//在类的方法体中将m的值赋给a
2,将m的值作为参数传给link 方法
function link($par){//设置形参
$a=$par;//赋值
}
link($m);//在调用link方法时,将$m传给方法体
如有其它问题可Q22940449
‘贰’ php静态属性跟常量有什么区别啊
类的静态属性. 会在类文件加载的时候, 就初始化.
属性值是可以更改的.
常量...一旦定义了. 就无法变更值..
这应该算是最大区别.
另外, 常量只能是简单的数据类型(如: int , string , boolean,float , double) ,
类的静态属性, 可以是php所支持的任意变量类型(但初始化的时候. 只能是简单数据类型, 数组)
‘叁’ 关于php当中static关键字,资料上说只能初始化一次。但是数组变量在定义时赋值会被下一次初始化覆盖!
你定义了static 就是静态变量
但是静态变量的初始化只进行一次,而且是定义静态变量的时候初始化
static $a = array(1,2,3);
print_r($a);
static $a = array();
这样实际上是定义了两次静态变量,并初始化,实际做会执行其中一个
就是后面这个
上面的代码实际上会被编译器编程这样
<?php
function f1(){
static $a = array();
print_r($a);
print_r($a);
}
function f2(){
static $a = array();
$a[] = 1;
$a[] = 2;
$a[] = 3;
print_r($a);
print_r($a);
}
‘肆’ php变量初始化。用null。0。'' 那个好
习惯上都是用0的,因为0代表你初始化的这个变量时整形,而空则说明暂时不确定你初始化的这个变量的类型是什么,哪个好你应该明白了吧
‘伍’ php求助 static修饰的变量不是只运行一次吗图里面为什么运行2次
static静态变量只被初始化一次,是函数或类的内部保存值
这里,相当于你的newfile.php执行结束之前,$temperature=25;只会被初始化一次。
即第一次调用ee()时$temperature初始化为25,
第二次调用ee()时,$temperature没有在被重新初始化,而是沿用函数内部的保存值25
你可以在static$temperature=25后面加两句,
++$temperature;echo$temperature.'<br/>';
在运行会打印26和27
ee()函数执行了多少次,就会在25上加多少
因为$temperature只有第一次被初始化为25,后面都是沿用之前运算后的值