当前位置:Gxlcms > PHP教程 > php:关于变量,类型,作用域

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

时间:2021-07-01 10:21:17 帮助过:22人阅读

判断变量存在

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教程有兴趣的朋友有所帮助。

人气教程排行