php:关于变量,类型,作用域
程序员文章站
2022-05-09 22:50:50
...
判断变量存在
isset($var);//只判断是否有这个变量,变量存在就是 TURE;
判断变量为空
!empty($var);//“”,0,“0”,NULL,FALSE,array(),var $var; 和没有任何属性的对象在用 empty判断时,都是空的,返回TURE;
判断是否为false
if(0 == false){echo"true";} //trueif(0.0 == false){echo"true";} //trueif(array() == false){echo"true";} //trueif("0" == false){echo"true";} //trueif('' == false){echo"true";} //trueif(NULL == false){echo"true";} //true
静态变量 :驻留内存的变量
functiona(){static$a = 1;
echo$a;
$a++;
}
a();//1
a();//2
常量:只读变量
define("TEST",'codekissyoung');
echo TEST;//codekissyoung
可变变量:php是动态实时解析的语言
$a = "test";
$test = "i am the test";
functiontest(){echo"i am function test!";}
echo$a; //testecho$$a; // i am the test$a(); //i am function test!
将 assoc 数组拆解成变量
foreach ($_POSTas$key => $value) {
$$key = $value;
}
动态 new 对象和调用函数
//example.com?class=person&func=run$class=$_GET['class'];
$func=$_GET['func'];
$obj=new$class();
$obj->$func();
变量的引用
$a="ABC";
$b =&$a;
echo$a;//这里输出:ABC echo$b;//这里输出:ABC $b="EFG";
echo$a;//这里$a的值变为EFG 所以输出EFG echo$b;//这里输出EFG
引用和函数结合使用
functiontest(&$a) {$a=$a+100;
}
$b=1;
test($b);//这里$b传递给函数的其实是$b的变量内容所处的内存地址,通过在函数里改变$a的值 就可以改变$b的值了 echo$b;//输出101 //要注意的是,在这里test(1);的话就会出错,原因自己去想:标量不能按引用传递
变量的全局范围
(1)现在的程序(web程序,或者其他)都是只有一个入口的(你以 url/test1.php 和 url/test2.php 去访问的其实是两个程序)。
(2)现在的web程序都是只能访问 index.php这个文件,然后index.php去调度资源,返回相应的页面!如果使用了框架的话,index.php 里面会先加载这个框架(资源,类库,函数库),然后由这个框架来调度资源。
(3)ci就是一个url对应一个类里面的方法,每一次url请求,在服务器端都是执行一个类(控制器)的一个方法而已。而这个方法要如何写,就是我们要实现的程序部分了。换句话说,框架又将调度资源的规则交到了你的手里。
(4)如果想在框架里面使用一些自己定义的函数或者类库,或者变量和常量,可以在index.php 引入框架之前,将你的类库/函数库/常量变量配置文件引入。然后在程序的任意处都可以使用了(除变量)。注意,你的命名不能和php函数以及框架里面的函数重名,否则会被覆盖。
(5)全局变量在函数内部不可以直接访问,要用global 声明一下才可以访问。全局变量在函数外部是可以随意访问的。
版权声明:知识取之于民,用之于民!欢迎转载,转载请开头附上本文链接,不定期更新文章!
以上就介绍了php:关于变量,类型,作用域,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章
相关视频