[总结]PHP变量常量、流程控制、函数应用

来源:互联网 发布:敢死队资金指标源码 编辑:程序博客网 时间:2024/05/06 00:23

PHP全称:Hypertext Preprocessor(超文本预处理器)

一、PHP变量&常量

1. 变量

  1. 两种特殊变量:可变变量和引用传值
    可变变量:
<?php    $hi="hello";    $$hi="world";    echo $hi,$hello;//hello world
  引用传值:给原来的变量$a起一个别名$b,也就是将$b绑定到变量值上,$a与$b是一回事。改变$a或$b的值,$a和$b都会改变。[注意引用传值与指针的区别:引用是为$a起一个别名$b,指针是将$a的地址传递给$b]
<?php    $a="hello";    $b=&$a;    $b="nihao";    echo $a;//nihao

2.变量类型

4种标量类型:int、float、string、bool

  float:浮点数只是近似值,如果使用float表示8,其在计算机内部的表示类似于7.999999...显示的时候按照四舍五入的方式为8。所以,不要比较两个浮点数是否相等。  string:单引号('')不会解析变量的值,以及一些转移字符。所以效率更高。如果没有什么特殊需求,应该使用''定义字符串。         双引号("")可以解析变量,可以处理转移字符(\n,\r等等),但是效率慢。         定界符:和双引号功能一样,但适合较长的字符串。

2种复合类型:Array、Object

2种特殊类型:Resource、NULL

 Resource:保存了到外部资源(数据库连接,图形画布区域等)的一个引用,即外部资源的一个别名。外部资源应该由程序员创建、使用、释放。

3.判断变量类型函数:

 is_int is_float() is_numeric()(判断是否是数字类型或数字类型的字符串) is_bool() is_string is_array() is_object() is_resource() is_null()

4.变量的范围

局部变量:

     在函数内部声明的变量,只能在该函数内部使用

全局变量:

     在函数外部声明的变量,在该脚本文件中都有作用。     当局部变量与全局变量重名时,局部变量会覆盖全局变量。要想使用全局变量,要在局部变量钱加global关键字。

静态变量:

     局部变量如果不声明为静态static,默认为动态存储,在函数调用完毕后释放。要想在函数调用完毕后不释放,就要声明为静态变量。
     <?php    function testStatic(){        static $a=100;        echo $a;        $a++;    }    testStatic();//100    testStatic();//101    testStatic();//102

2. 常量
常量只能使用define()定义。并且一经定义,不可释放,在脚本运行结束时自动释放。

系统预定义常量

  PHP_OS  PHP_VERSION  DIRECTORY_SEPARATOR(目录分隔符\或/)  PATH_SEPARATOR(环境变量分隔符)

魔术常量

  __LINE__  __FILE__  __CLASS__  __METHOD__(当前对象的方法名)  __FUNCTION__(当前函数名)

二、流程控制

特殊流程控制语句:
break:可以跳出循环。

   break 1;//跳出第一层循环   break 2;//跳出第二层循环

continue:用于结束当次循环,继续下一次循环。

  continue 后面的语句都会被省略。

三、函数应用

可变参数个数的函数:

不确定函数参数的个数,如array()。使用func_get_args()接收函数的参数,函数的参数会作为一个数组返回。如下代码:
<?php    header("content-type:text/html;charset=utf-8");    function args()    {        $args=func_get_args();        for($i=0;$i<count($args);$i++)        {            echo '第'.($i+1).'个数是'.$args[$i]."<br/>";        }    }    args("1","2","3","four");

变量函数

变量函数类似于可变变量:变量函数代码如下:
//回调函数<?php    header("content-type:text/html;charset=utf-8");    function one()    {        return  "one";    }    $result="one";    echo $result();//输出one
//可变变量<?php    $hi="hello";    $$hi="world";    echo $hi,$hello;//hello world

回调函数:

回调函数A的作用:函数A调用外部函数B,而不是仅仅执行函A,这样扩大了函数A 的能力。(回调函数即参数不是普通变量,是一个函数,用到可变变量的知识)
<?php    header("content-type:text/html;charset=utf-8");    function filter($func)    {        for($i=1;$i<=100;$i++)        {            if($func($i))            {                continue;            }            echo $i."  ";        }    }    function one($num)    {        return $num%3==0;    }    function two($num)    {        return $num%5==0;    }    filter("one");//根据不同的参数过滤掉不同的值,强大了功能    echo "--------------------------------------";    filter("two");
通过call_user_func_array()来调用外部任意函数(更常用)
<?php    header("content-type:text/html;charset=utf-8");    function filter($func)    {        for($i=1;$i<=100;$i++)        {            //call_user_func_array(函数名,函数参数)            if(call_user_func_array($func, array($i)))            {                continue;            }            echo $i."  ";        }    }    function one($num)    {        return $num%3==0;    }    function two($num)    {        return $num%5==0;    }    filter("one");//根据不同的参数过滤掉不同的值,强大了功能    echo "--------------------------------------";    filter("two");

附录:总结
这里写图片描述

0 0