边记边学PHP-(四)PHP数据类型、常量、变量及表达式2

来源:互联网 发布:js调用手机图库 编辑:程序博客网 时间:2024/04/28 05:23

在上一篇我说过这篇有福利,其实福利就是一份PHP手册。很重要,以后经常用到。

PHP手册提取码:5rbn

好了废话不多说,这次就把表达式都看完了。

1.PHP常量

        常量在其他语言里也会出现,因为有时候常量会给我们写代码带来很大的方便。在PHP里面,有两种常量,一种是我们自己定义的常量,一种是预定义的也就是它里面定义好了的,这一种又称为魔术常量。

  (1)声明和定义常量

        在PHP里面,常量的定义是通过一个函数实现的,

        bool  define ( string$name  , mixed  $value [, bool $case_insensitive  =false  ] )

       它里面有三个参数:

       $name:表示你定义的常量的名称

       $value:表示你定义的常量的值

       $case_insensitive:表示你定义的这个常量对大小写是否敏感。TRUE表示不敏感,false表示敏感。默认为false。

       除了这个函数,还有两个函数需要知道。

      mixed constant( string $name )

      这个函数返回常量的值。如果常量未定义则返回null,并且会出现错误。

     bool defined( string $name )

     这个函数是测试常量是不是定义了。如果定义了返回TRUE,反之返回false。说到这里,如果测试一个变量是否定义了,使用的函数是isset().原理是一样的。

     下面我通过一个例子来说明这几个函数,这个例子是参考了一本书上的。Eg:

<?php   define("MESSAGE", "PHP常量定义");    echoMESSAGE."<br>";        //<br>表示换行,以后会说到    echoMessage."<br>";         //当输出这一句是给了一个警告,说没有定义这个常量,按字符串输出来了。因为默认区分大小    define("COUNT","这里不区分大小写",true);//这里设置不区分大小写    echoCOUNT."<br>";    echoCount."<br>";    $name = "count";    echoconstant($name)."<br>";    if(defined($name)){        echo $name."定义了";    }?>


       通过上面一个例子,大概就能明白了各个函数的含义。

(2)预定义常量(魔术常量)

     

        我这里从PHP手册里截了一张图,你也可以去里面详细的看一下。以后会用到。当然这不是全的。具体用的时候可以去手册里找。注意:它两遍的线是两条_不是一条。你可以自己输出一下这几个常量,你就知道它代表的是什么意思了。

2.PHP变量

    变量有四点

(1)声明及使用

        几条规则:

        ①变量名区分大小写

        ②变量以美元符号$开头

        ③变量名可以用英文字母、下划线开头,但不能以数字开头

        ④变量名里不能包含中文

        在这分享几点好的编程习惯,我也一直在这么写。当声明变量的时候尽量用英文单词或者单词的缩写,这样能够一眼看出变量的意思,不要使用汉语拼音。有两种方式比较不错,一个是带下划线的,如我声明一个用户名的变量,可以这么写$user_id=…或者$userId=…。也就是用下划线把两个单词分开或者每个单词的首字母大写,当然变量的首字母可以小写。再就是声明变量的同时最好先给他赋一个值,这样程序就能马上知道这是个什么类型的变量了。

        变量除了可以马上赋值之外,他们相互之间也可赋值,主要有两种方式,一种是直接赋值,一种是引用赋值。直接赋值就是类似$str2 = $str1;这样$str2里面存储的就是$str1里的内容了,但是他们两个是两个变量,改变任意一个互不影响,也就是各有各的存储空间。还有一种是引用赋值,使用取地址符&。相信你在别的语言也用过,比如:$str2 = &$str1。这样输出$str2就输出了1的值,但是他不是单独的空间存储,而是像是指针指向了1的空间,当改变1时,2的值也会改变。

(2)可变变量

        我一直觉得PHP很神奇,它可以用变量的值做变量的名,也就是这样:

       $str ="php";

       $php = "Ilove PHP";

       echo $str;              //这里输出php

       echo"<br>";

       echo $$str;             //这里输出 I love PHP

      这就叫可变变量。

(3)变量作用域

看到这个作用域,你大概也明白这是什么意思了,就是变量能够作用或者说能够使用的区间。这里我用一个表格来说明:

全局变量       

声明在所有函数之外的变量成为全局变量,作用域是整个PHP文件,但是在自定义的函数之内是不能使用的(会出现undefined的错误),如果想在函数里使用,需要使用global关键字,或者使用全局数组进行访问。

局部变量

在自定义的函数内部声明的变量,只能在这个函数中使用

静态变量

使用关键字static声明的变量,这种变量的特点是当程序执行完毕之后仍然保存。不会释放空间。

我通过下面的代码说明:

$str ="php";      //这是一个全局变量

function test(){

$php = "I love PHP";     //这是一个局部变量

    global $str;

    echo $str;

}

test();

 

静态变量这样声明:static $str= “”;

(4)预定义变量

        常量有预定义,变量也有???

        是的,并且非常非常重要!!!

        但是这里我就不一一说了,我也记不住,但是有几个经常用到,$_GET、$_POST、$_COOKIE、$_SESSION、$_FILES、$_REQUEST。他们都是大写,并且变量名以下划线开头。

        这几个你可以去看php手册,一定要知道。以后经常用他们进行页面见的交互什么的。

3.表达式

       说到表达式当然要了解PHP运算符

 (1)PHP运算符

    ①算术运算符

     +-*/%

     加减乘除取模与其他语言一样的。

     ②字符串连接运算符

     .

     就是一个点,而不是一个加号。如果使用加号那么系统就吧字符串自动转换成整型相加了。

     ③赋值运算符

     =、+=、-=、*=、/=、.=、%=

     跟其他语言一样理解。

     ④递增递减运算符

     ++,--

     与其他语言一样,并且也分前置后置

     ⑤位运算符(我一般不用,就不说了)

     ⑥逻辑运算符(用于判断条件)

    &&或and(两两为真才真)、||或or(一真即真)、!(取非也就是类似取反)

     跟其他语言一样。依次且或非的意思

     ⑦比较运算符

    >、<、=、>=、<=、==、!=、===(恒等)、!==(非恒等)

     其他的跟其他语言一样

     ⑧条件运算符

     (1)?(2):(3)

        先判断1是不是真,如果是真,就返回2,如果不是真就返回3。

        运算符的优先级我从手册上截了一张图


       可以看手册。

(2)表达式

          表达是就是通过上面的运算符将PHP变量来连接起来了。我就不详细说了,如果你学过其他语言,就应该很明白了。

 

        本次我用了一个PHP文件进行的分析,完整代码如下(不需要什么就注释掉什么):

<?php//     define("MESSAGE", "PHP常量定义");//     echo MESSAGE."<br>";//     echo Message."<br>";//     define("COUNT", "这里不区分大小写",true);//     echo COUNT."<br>";//     echo Count."<br>";//     $name = "count";//     echo constant($name)."<br>";//     if(defined($name)){//         echo $name."定义了";//     }        $str = "php";    $php = "I love PHP";//     echo $str;//     echo "<br>";//     echo $$str;     function test(){        global $str;        echo $str;    }    test();?>


       至此,我已经说完了几乎php的理论,下一篇需要说流程控制语句,那个就一点知识。然后就正式进入编程。那么还需要有一点HTML的基础,来去写界面。所以我在之前还会插入一点HTML的基础知识。

 

 

       上面如果有不准确的地方或者更好的理解方法,请告诉我啊。如果有说的不明白的也可以告诉我。

0 0
原创粉丝点击