04-PHP的基本语法2


1. 常量

常量值被定义后,在脚本的其他任何地方都不能被改变。

1.1 常量的定义和使用

在 PHP 中是通过使用 define( )函数来定义常量的。常量的命名与变量相似,也要遵循 PHP 标识符的命名规则。另外,声明常量默认还跟变量一样大小写敏感,按照惯例常量名称总是大写的, 但是不要在常量前面加上“$” 符号。define()函数的格式如下:

bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
该函数有三个参数:
name:必选参数,常量名称,即标志符。
value:必选参数,常量的值。
case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。

  • 区分大小写的常量名
<?php
    // 区分大小写的常量名
    define("CSDN", "欢迎访问 https://www.csdn.net/");
    echo CSDN;    // 输出 "欢迎访问 https://www.csdn.net/"
    echo csdn;   // 输出 "csdn",但是有警告信息,表示该常量未定义  
?>
  • 不区分大小写的常量名
<?php
    // 不区分大小写的常量名
    define("CSDN", "欢迎访问 https://www.csdn.net/", true);  
    echo CSDN;  // 输出 "欢迎访问 https://www.csdn.net/"  
    echo csdn;// 输出 "欢迎访问 https://www.csdn.net/"
?>
  • 常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。
<?php
    define("GREETING", "欢迎访问 Runoob.com");  
    
    function myTest() {
        echo GREETING;
    }
    
    myTest();    // 输出 "欢迎访问 Runoob.com"  
?>

1.2 常量和变量

常量和变量都是 PHP 的存储单元,但名称、作用域及声明方式都有所不同 ,以下是常量和变量的不同点。

  • 常量前面没有美元符号 ( $ )。
  • 常量只能用 define()函数定义,而不能通过赋值语句。
  • 常量可以不用理会变量范围的规则而在任何地方定义和访问。
  • 常量一旦定义就不能被重新定义或者取消定义,直到脚本运行结束自动释放。
  • 常量的值只能是标量 ( boolean, integer, float 和 string 这 4 种类型之一)。

2. PHP中的运算符

  • 运算符是一个命令解析器对一个或多个操作时(变量或数值)执行某种运算的符号,也称操作符
  • 根据操作数的个数分为一元运算符、二元运算符、三元运算符。
    • 一元运算符只运算一个值,例如 !(取反运算符)或 ++(加一运算符)。
    • 二元运算符可以运算两个值,PHP 支持的大多数运算符都是这种二元运算符,
    • 三元运算符只有一个 (? : )。
  • 如果按运算符的不同功能去分类 , 可以分为: 算术运算符、字符串运算符 、赋值运算符、比较运算符、逻辑运算符、位运算符和其他运算符 。

2.1 算数运算符

运算符意义描述示例结果
+x 和 y 的和2 + 24
-x 和 y 的差5 - 23
*x 和 y 的积5 * 210
/x 和 y 的商15 / 53
%模(除法的余数)x 除以 y 的余数5 % 21
++累加1x 的值加 1
- -递减1x 的值减 1

在这里插入图片描述

<?php
    $x=10; 
    echo ++$x; // 输出 11  
     
    $y=10; 
    echo $y++; // 输出 10  
     
    $z=5;
    echo --$z; // 输出 4  
     
    $i=5;
    echo $i--; // 输出 5  
?>

2.2 字符串运算符

在 PHP 中字符串运算符只有一个,是英文的句号(" . "),也称为连接运算符。它是一个二元运算符,返回其左右参数连接后的字符串。这个运算符不仅可以将两个字符串连接起来,变成合并的新字符串,也可以将一个字符串和任何标量数据类型相连接,合并成的都是新的字符串。

<?php
    $name = "Tom";
    $age = 27;
    $height = 1.71;
    
    //将以上不同类型的变量使用点操作符和字符串连接起来,一起输出 
    //输出的结果为:我的名字是:Tom,我的年龄是:27,我的身高1.71米。
    echo "我的名字是:".$name.",我的年龄是:".$age.",我的身高".$height."米。";  
?>

2.3 赋值运算符

赋值运算符也是一个二元运算符,它左边的操作数必须是变量,右边可以是一个表达式。
在这里插入图片描述

<?php
    $a = $b = $c = $d = 100;

    $a += 10;
    $b -= 10;
    $c *= 10;
    $d /= 10;
    $e %= 10;
    
    $result = "结果是:";
    $result .= "\$a 自加 10 以后的值为:${a},";     //110  
    $result .= "\$b 自减 10 以后的值为:${b},";     //90
    $result .= "\$c 自乘 10 以后的值为:${c},";     //1000  
    $result .= "\$d 自除 10 以后的值为:${d},";     //10
    $result .= "\$e 自取余 10 以后的值为:${e}。";  //0
    
    echo $result;	//输出全部相连后的字符串结果  
    /* 结果是:
    $a 自加 10 以后的值为:110,
    $b 自减 10 以后的值为:90,
    $c 自乘 10 以后的值为:1000,
    $d 自除 10 以后的值为:10,
    $e 自取余 10 以后的值为:0。
    */

?>

2.4 比较运算符

比较运算符也称关系运算符,又称条件运算符,也是一种经常用到的二元运算符,用于对运算符两边的操作数进行比较。比较运算符的结果只能是布尔值,如果比较的关系为真,则结果为TRUE, 否则结果为 FALSE。

运算符名称描述实例
x == y等于如果 x 等于 y,则返回 true5==8 返回 false
x === y绝对等于如果 x 等于 y,且它们类型相同,则返回 true5===“5” 返回 false
x != y不等于如果 x 不等于 y,则返回 true5!=8 返回 true
x <> y不等于如果 x 不等于 y,则返回 true5<>8 返回 true
x !== y绝对不等于如果 x 不等于 y,或它们类型不相同,则返回 true5!==“5” 返回 true
x > y大于如果 x 大于 y,则返回 true5>8 返回 false
x < y小于如果 x 小于 y,则返回 true5<8 返回 true
x >= y大于等于如果 x 大于或者等于 y,则返回 true5>=8 返回 false
x <= y小于等于如果 x 小于或者等于 y,则返回 true5<=8 返回 true

2.5 逻辑运算符

逻辑运算用来判断一件事情是" 对 “的还是” 错 “的,或者说是” 成立 " 还是" 不成立 "。逻辑运算符只能操作布尔型数值。处理后的结果值也是布尔型数值。
在这里插入图片描述

2.6 位运算符

任何信息在计算机中都是以二进制数的形式保存的,位运算符允许对整型数中指定的位进行置位。如果左右参数都是字符串,则位运算符将操作字符的 ASCII 值浮点数也会自动转换为整型再参与位运算。位运算用于对操作数中的每一个二进制位进行运算,包括位逻辑运算符位移运算符
在这里插入图片描述

2.6.1 按位与( & )

规则是参加运算的两个运算量相应位均为 1 时该位为 1, 否则为 0。即

  • 0 & 0 = 0;
  • 0 & 1 = 0;
  • 1 & 0 = 0;
  • 1 & 1 = 1
<?php
    $a = 20;
    $b = 30;
    $c = $a & $b;
    echo $c; //输出的结果为 20  
?>

在这里插入图片描述

2.6.2 按位或( | )

规则是参加运算的两个运算量相应位有一位为 1 时该位为 1 ,否则为 0 。即

  • 0 | 0 = 0;
  • 0 | 1 = 1;
  • 1 | 0 = 1;
  • 1 | 1 = 1;
<?php
    $a = 20;
    $b = 30;
    $c = $a | $b;
    echo $c; //输出的结果为 30  
?>

在这里插入图片描述

2.7 其他运算符

2.7.1 三元运算符 ( ? : )

  • 语法格式:

(expr1) ? (expr2) : (expr3)

在 expr1 求值为 true 时,执行 " ? " 和 " : " 之间的 expr2 并获取其值,在 expr1 求值为 false 时,执型 " : " 之后的 expr3 并获取其值。

<?php
    $store = 12;
    $store = $store <= 5 ? "库存不足!" : "库存量:".$store;  
    echo $store;// 输出的结果为:库存量:12  
?>

2.8 运算符的优先级

下表从高到低列出了运算符的优先级。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。

级别(从高到低)运算符结合方向
1clone、new无结合
2[从左到右
3++ --无结合
4! ~ - (int) (float) (string) (array) (object) @无结合
5* / %从左到右
6+ -从左到右
7<< >>从左到右
8< <= > >=无结合
9== != === !==无结合
10&从左到右
11^从左到右
12|从左到右
13&&从左到右
14||从左到右
15? :从左到右
16= += -= *= /= .= %= &= |= ^= <<= >>=从左到右
17and从左到右
18xor从左到右
19or从左到右
20,从左到右

3. 表达式

在PHP中,几乎所编写的任何代码都可以看做是一个表达式,通常是变量、常量和运算符号的组合。简单但却最精确地定义一个表达式的方式就是“任何有值的东西”。以下列出来一些比较常用的表达式,如下所示:

  • 最基本的表达式形式是常量和变量,例如赋值语句$a=5;
  • 稍微复杂的表达式就是函数,例如 $a = foo();
  • 使用算术运算符中的前、后递增和递减也是表达式,例如 $a++、$a–、++$a、–$a;
  • 常用到表达式类型是 " 比较表达式 ",例如:$a>5、$a>=5、$a>=5&&$a<=10;
  • 组合的运算赋值也是常用的表达式,例如$a+=5、$a*=5、$b=($a+=5);
  • 三元运算符 ( ? : ) 也是一种表达式,例如$v = ($a ? $b=5 : $c=10).
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值