楠Go随笔

第六课:PHP学习之表达式和语法

2017-11-30 09:19:45 admin 阅读 网站首页 > PHP > PHP学习

PHP是弱语言类型,声明变量不需要预先定义它的数据类型,系统会在赋值那会判断。由上节课的demo中我们可以发现,PHP变量都以美元符号$开头,变量的命名规则需要遵循以下三个规则。


  • 变量名只能是包括字母(a-zA-Z)和数字(0-9)跟下划线_组成。

  • 变量名开头不能是数字.如$9name 不被允许。

  • 变量名必须以美元符号$开头。

当然在实际的开发中,命名规则尽可能需要做到见名知义,为了让变量名看上去让人家更赏心悦目可考虑如下命名。

  • 局部变量或者函数内部变量可考虑用_表示这是一个"私有"变量。如$_name

  • 多单词组合的变量名可以考虑用驼峰法命名,第一个单词小写,第二个单词首字母大写,如$keyWordParam 

  • 多单词组合变量名还可以在多个单词间用下划线_分割,看上去会更直观,如$author_id

以上参考规则也可以用于函数命名,规范一套命名规则可以在开发中保持风格一致,维护起来也比较省心。

PHP运算符

        运算符是执行某种运算的连接符,在PHP中一共有以下几种。

            算术运算符   做加减乘除取余操作

                    ■ + 加法运算符  将左右两边的变量进行加法运算 如果是非数字型变量会尝试转换为数字然后进行运算。下面的运算符也有如上规则。

                    ■  - 减法运算符

                    ■  * 乘法运算符

                    ■  / 除法运算符

                    ■  % 取余运算符

               ■  ++ 自增运算符 把变量结果自动加1赋值给自身 如果自增运算符出现在变量前表示先加1再赋值给自身 如果出现在后面则先把值赋值给另一个变量然后再自身加1。

               ■  -- 自减运算符 与上面自增相似 每操作一次自身减1。

            字符串运算符   程序运行过程中最常见的就是多个字符串拼接再一起构成一个长度更大的字符串。不过字符串运算符只有一种连接符.(点号)。

                    ■ .  假设$a $b是两个变量,进行字符串连接中 其他类型的数据都会转为字符串,用点运算符 . 可以拼接两个变量的字符串。

            赋值运算符   把运算结果赋值给变量的操作 

                            ■ = 赋值 把右边运算结果赋值给左边的变量

                            ■ += 赋值加  像$a+=$b; 可以看成是$a = $a +$b; 相当于变量a自身加另外一个变量 然后再度赋值给变量a 

                            ■ -= 赋值减  如上

                            ■ *= 赋值乘

                            ■ /= 赋值除

                            ■ %= 赋值取余

                            ■ .= 字符串拼接赋值

                 位运算符   在计算机中任何数字、字母或符号都是以二进制形式存储,每一位只能由0或1构成。使用二进制的好处就是可以按位计算 。,一般用于底层运算,位运算中我们最常用的就是异或运算符了。

                            ■ & 位与运算符 两个相同位进行运算 若有一个不为1 则为0 。

                            ■  |   位或运算符 两个相同位进行运算 若有一个为1 则为1 。

                            ■  ^   异或运算符 两个相同位进行运算 若有一个为1 则为1 。

                            ■  ~   位非运算符 二进制位数上0变1 1变0.

                            ■  <<   左移运算符 每向左移动一位 等同于乘以2. 如$a=4; $a = $a<<2; $a=8;

                            ■  >>   右移运算符 每向右移动一位 等同于除以2. 

                  比较运算符   判断左右两边结果的关系运算符。整型判断依据取决于数值大小,字符串比较取决于同位的 ASCII 码值.整型与字符型比较时会把整个字符串转换成数字型比较。

                           ■  >   大于运算符,左边运算结果值大于右边结果值。

                           ■  >=   大于等于运算符,左边运算结果值大于等于右边结果值。

                           ■  <   小于运算符,左边运算结果值小于右边结果值。

                           ■  <=   小于等于运算符,左边运算结果值小于等于右边结果值。

                           ■  ==   相等运算符,左边运算结果值等于右边结果值。

                           ■  ===   全等运算符,左边运算结果值等于右边结果值,而且两边的数据类型要一致。

                           ■  != 或者 <>   不等于运算符,左边运算结果果不等于右边结果值 

                           ■  !==   不全等运算符,左边运算结果值或数据类型不等于右边结果值。

                  逻辑运算符   判断表达式的逻辑关系 真与假。

                          ■  &&   逻辑与运算符,两边表达式都为真则真,一假则假。

                           ■  ||   逻辑或运算符,两边表达式一真则真。

                           ■  !   对表达式的结果取反,真则变假,假则为真。

                           ■  AND  逻辑与运算符,运算符优先级比&&低 如果不做赋值运算不影响结果。

                           ■  OR   逻辑或运算符 同上。

                           ■  XOR   逻辑异或运算符,只有一个表达式为真则真否则为假。

    PHP表达式 

    变量结合运算符都构成表达式

PHP分隔符 ;

在PHP中多个语句之间可以不换行,但是语句之间必须用;分割开来,否则会造成语法错误,换行只是为了让整个代码结构更加清晰与直观。

PHP语句

在PHP中表达式加上分隔符就构成了语句。

流程控制

在程序运行过程中我们需要用代码来处理A情况的业务B情况下的业务等等。这个时候我们就需要用到流程控制语句来处理各种分支情况,在PHP中流程控制语句有以下几种。

        if语句 表示如果怎么就怎么做

                1.if 

<?php
if (表示式成立) {     #执行你的逻辑     doSomething(); }
?>

                 2.if ..else 

<?php
if (表示式成立) {     #执行你的逻辑     dosomething(); } else {     #不成立则做另外的处理     doOthersthing();     }
?>

                3.if ..else if ..else

<?php
if (A表示式是否成立) {     #执行你的逻辑     doA(); } else if (B表示式是否成立){     doB(); } elseif (C表示式是否成立){     doC(); }else {     #不成立则做另外的处理 如果不满足当前表示式则往下一分支做判断 优先级高的表示式应该放置在最前面的判断中     doOthersthing();     }
?>

        swith语句  与if功能相同 只是在多分支判断中可以更加简洁

<?php
swith($a) {     case 'A': doA(); break;     case 'B':doB();break;     case 'C':doB();break;     case 'D':doB();break;     case 'E':doB();break;     defalut: doOthers(); }
?>

        三元运算符 有时候一些分支语句比较简单,我们可以对其做简写,用三元运算符可以加快处理,表示如果第一个表达式为真,则取第二个表达式的内容否则去第三个表示式的内容

<?php
#获取结果 $result = $data ? $zhen : $jia; //当第一个表示式 $data 为真时 取 $zhen 赋值给 变量$result 否则取$jia.
?>


{}括号可以在分支中需要执行多个语句包含在一起,给环境知道是同一块。

循环控制

有时候我们需要程序处理一些重复的业务,比如把从数据库获取出来的结果集做一个遍历格式化然后显示到页面,这个时候我们可以用到循环控制.PHP循环控制有以下四种,我们通过从小到大输出1-100为例演示四种用法.

     for 语句

<?php
    $shuzu = array();     for($i=1;$i<=100:$i++) {         #第一个参数是初始化循环变量 第二个参数是循环条件 当前表示$i 小于等于100执行循环体 第三个条件表示执行循环体后的操作 当前为$i变量自增+1         echo $i."<br/>";         #顺便把值依次存进数组元素 待用         $shuzu[] = $i;     }
?>


     foreach 语句

<?php
    foreach ($shuzu as $key=>$value){             #该循环是对数组遍历的简写 $shuzu 为数组  $key 为数组元素的索引值 $value为数组元素值           echo $value."<br/>";     }
?>


     while 语句

<?php
    $i = 1; #外部先初始化变量     while($i<=100) {         echo $value."<br/>";         $i++;  #设置循环变量 没有结束条件会造成死循环     }
?>


    do while 语句

<?php
    $i = 1; #同样先初始化变量     do {         #先执行一次循环体 再做判断         echo $value."<br/>";         $i++;  #设置循环变量     } while($i<=100);
?>

通过学习了PHP变量、标识符、运算符、表达式和常用语句,我们就可以做一些简单的面向过程处理。

搜索

关于楠Go

2015年毕业于吉林大学珠海学院,现今工作已两年有余,2014年在珠海一家游戏公司从事手机游戏开发,后离职转型为网络端PHP工程师,时至今日。熟练掌握PHP面向对象编程网络编程TP框架使用Discuz论坛插件开发。掌握前端框架Bootstrap的使用,掌握JS框架Jquery的使用。已开发多款网站,有着一定基础的开发经验,希望能在互联网领域再上一层楼!

了解更多: 开源中国 ThinkPHP


Powered by MetInfo 5.3.19 ©2008-2018 www.MetInfo.cn