3.4.8 三元运算符和其它运算符
此外还有一些特殊的运算符和符号,我们先来进行讲解。可能以后我们需要用到。
符号 | 说明 |
---|---|
$x? 真代码段:假代码段 | 判断是否为真假 ? 真情况 : 假情况; |
``(反引号) | 反引号中间插代命令,执行系统命令,等价于shell_exec函数 |
@ | 单行抑制错误,把这一行的错误不让它显示出来了,效率低不建议使用 |
=> | 数组下标访问符 |
-> | 对象访问符 |
instanceof | 判断某个对象是否来自某个类,如果是的返回true,如果不是返回false |
三元运算符,相当于是if...else结构。不过三元运算符的写法更加简洁,语法格式如下:
$x? 真代码段(只能写一句代码):假代码段(只能写一句代码);
代码如下:
<?php
$x = true;
$x ? $y = 5 : $y = 6;
//输出5
echo $y;
?>
反引号就更加特殊了,我们经常需要显示IP地址,在PHP里面可不可能显示我们windows的IP地址呢?用反引号,就可以执行我们的命令(不过有些虚拟服务器是禁止执行这些的命令脚本的):
<?php
echo "<pre>";
echo `ipconfig`;
echo "</pre>";
?>
上面的代码你执行看看效果,是不是显示出来了你机器的IP地址和一堆和IP相关的参数?
@符是指单行抑制错误,以后的章节我们还会讲解到。此处为了解级别。
<?php
//打开一个不存在的文件adfsafasdfasfasdfdsadf.txt,你运行一下会发现报错了。
//再前面再加上一个@符看看效果
$fp = fopen("adfsafasdfasfasdfdsadf.txt","r");
//@$fp = fopen("adfsafasdfasfasdfdsadf.txt","r");
?>
数组下标访问符,以后也会有一章讲解,此处了解一下就可以了:
<?php
$data = array("sina" =>"新浪" ,"sohu" => "搜狐");
?>
对象访问符->和instanceof 都是了解级别,以后也有专门的章节进行讲解:
<?php
//实例化一个对象
$obj = new StdClass();
//判断某对象是某由某个类实例化,如果是的则执行真
if($obj instanceof stdClass){
echo "真";
}else{
echo "假";
}
//向obj对象中追加一个成员属性为username
$obj -> username = "PHP学院";
echo $obj -> username;
?>
上面的所有例子中,除了三元运算符、@符、反引号外。其他的学习级别均为了解,在以后讲解的时候。知道有这个符号即可。