欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php:关于变量,类型,作用域

程序员文章站 2022-04-14 22:46:54
...
判断变量存在
isset($var);//只判断是否有这个变量,变量存在就是 TURE;

判断变量为空

!empty($var);//“”,0,“0”,NULLFALSE,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教程有兴趣的朋友有所帮助。

php:关于变量,类型,作用域

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频