php运算符
1.php运算符与其他高级语言相同的部分
算术运算符(
+,-,*,/,%
),递增递减运算符(--$a,++$a,$a--,$a++
),赋值运算符(+=,-=,*=,/=,%=,.=
),比较运算符(==,===,!=,<>,>,<,>=,<=
),逻辑运算符(&&,and,||,or,!,xor
)条件运算符(表达式1?表达式2:表达式3
),位运算符(&,|,^,~,>>,<<
)与其他高级语言基本保持一致。这里需要说明的就是
.=
这个赋值运算符,php中的字符连接运算符为.
点运算符。<?php $a = "123"; $b ="abc"; $a .= $b; echo $a;// 123abc ?>
2.php运算符的一些特殊部分
字符连接运算符
.
( 之前java ,js 都是 + )错误抑制运算符@
因为php表达式产生错误时,会直接将错误提示信息反馈到网页上面,然后为了解决这个问题,不显示的将错误反馈到页面上,就出现了错误抑制运算符@。
使用抑制运算符的好处:1.避免信息外露,造成系统漏洞 2.美观,错误信息可能会导致页面混乱。
<?php echo "<br/>"; $a =(3/0); //产生0除异常 echo $a; // 将错误信息显示的展示到网页上面 ?>
<?php echo "<br/>"; @$a =(3/0); //产生0除异常 echo $a; // 不会将错误信息展示到网页上 ?>
类型运算符 instanceof
php提供了类型运算符,用于判断某个对象是否是某个类的对象。(这个与java一致)
<?php class Student{ } class Teacher{ } $p1 = new Student(); $p2 = new Teacher(); var_dump($p1 instanceof Student);//(bool)true var_dump($p2 instanceof Student);//(bool)false ?>
执行运算符 `(反引号)
执行运算符,使用反引号,并且将反引号中的字符串的内容,作为操作系统的命令来执行,并且返回该系统命令的执行结果。
```php
<?php
$cmd = `java -version`;//查找当前系统中jdk的版本
print($cmd);//打印输出黑窗口信息
?>
```
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a858d1c4524b369403e0e78f34d6d1f3.png)
php的类型转换
php的类型转换,同样分为类型自动转换(高精度到低精度)和强制类型转换(低精度到高精度)。
- 类型自动转换
- 布尔型参与算术运算时,true --> 1,false–>0 (布尔型转换为整型)。
- 浮点型运算则将整数转换为浮点型,然后再进行算术运算。
- 在算术运算时,如果字符串是以数字开头的,那么它就会被当做一个数字来处理。例如
字符串"123.5" 就是数字 123.5
。 - 在进行字符串拼接时,整数,浮点数被转换为字符串型数据。
- 逻辑运算时,空字符串"“、字符串0"0”,整数0,浮点数0,NULL,空数组将被转换为 布尔型false,其他数据被转换为 true。
类型强制转换
1.通过
(数据类型)$a
的方式进行强制类型转换(与Java一样)。2.通过内置类型转换函数 intval(),floatval(),strval() 来强转。
| 函数名及语法格式 | 函数功能 |
| --- | --- |
| int intval (mixed var) | 返回变量或常量var的整数值 |
| float floatval (mixed var) | 返回变量或常量var的浮点数值 |
| string strval (mixed var) | 返回变量或常量var的字符串值 |3.使用通用类型转换函数 settype()。
function settype(mixed &$var, #[ExpectedValues(["bool", "boolean", "int", "integer", "float", "double", "string", "array", "object", "null"])] string $type): bool { }
php打印输出语句
1.echo,print ,printf
echo 和 print 输出的是没有经过格式化的字符串,printf 输出的是格式化后的字符串。
echo 可以一次性输出多个字符串,每个字符串之间用逗号隔开即可。echo前不能使用错误抑制运算符。
print 和 printf 只能输出单个的字符串
printf()
printf(string $format, mixed ...$values)
2.print_r()函数
使用print_r()函数时输出数组中的元素或者对象中的成员变量时,会按照 “键=>值” 或者 "成员变量名=>值 "的方式来输出。
<?php class Student{ public $studentName = "叶秋"; public $sid ="2020040413"; } $st1 =new Student(); print_r($st1);// Student Object ( [studentName] => 叶秋 [sid] => 2020040413 ) $colors = array("red","blue","black"); print_r($colors);// Array ([0] => red,[1] => blue,[2] => black) ?>
3.<?= =?>
输出运算符
<?= =?>
其实与jsp中的赋值表达式一样<%=%>
,就不过多赘述。