写点什么

【web 开发基础】PHP 快速入门(10)-PHP 其他运算符详解

作者:迷彩
  • 2022-10-24
    广东
  • 本文字数:1706 字

    阅读完需:约 6 分钟

【web 开发基础】PHP 快速入门(10)-PHP 其他运算符详解

前言

PHP 开发基础开速入门系列目录:

  1. 【web 开发基础】php 开发基础快速入门 (1)-PHP 介绍及开发环境快速安装和基本使用介绍

  2. 【web 开发基础】php 开发基础快速入门 (2)-PHP 的程序开发

  3. 【web 开发基础】php 开发基础快速入门 (3)-PHP 程序符号标记和程序注释的使用及空白符详解

  4. 【web 开发基础】php 开发基础快速入门 (4)-PHP 常量详解

  5. 【web 开发基础】PHP 快速入门(5)-PHP 运算符之算术运算符和字符串运算符详解

  6. 【web 开发基础】PHP 快速入门(6)-PHP 运算符之赋值运算符详解

  7. 【web 开发基础】PHP 快速入门(7)-PHP 运算符之比较运算符详解

  8. 【web 开发基础】PHP 快速入门(8)-PHP 运算符之逻辑运算符详解

  9. 【web 开发基础】PHP 快速入门(9)-PHP 运算符之位运算符详解

文章目录这样放太长了,虽然这样更方便阅读。介绍完运算符,把这一系列所有文章目录单独整理到一篇文章,不然写到最后可能目录会占很大的篇幅~,这是题外话,言归正传,这一节我们继续了解关于 PHP 的运算符的使用。


在 PHP 中除了我们前面介绍的运算符,还有一些其他的运算符用于某些特定功能的操作。PHP 中特殊的运算符如下:


后面三个是我们在操作数组或者类的时候常用的运算符,后面介绍数组和类的文章我们着重介绍他们的用法,本文主要讲解前面三个运算符的使用和相关介绍。


三元运算符(? :)


“? :”可以提供简单的逻辑判断, 在 PHP 中是唯的三元运算符。 类似于条件分支语句 if...else....;但是三元运算符使用上更加简洁。 其语法格式如下所示:

(expr1) ? (expr2) : (expr3)

在 expr1 求值为 TRUE 时,执行“?"和“:”之间的 expr2 并获取其值;在 expr1 求值为 FALSE 时,执行“.”之后的 expr3 并获取其值。

<?php
//使用三元运算行判断表单传过来的action是否为空,如果为空则$action= "default",否则$action为传过来的值$action = !empty($_GET['action'])?$_GET['action'] : "default";
echo "三元运算符得到的结果:".$action;echo "<br>";
//和以上是相同的功能,只不过是对比使用if...else...条件语句
if(!empty($_GET['action'])){ $action = $_GET['action']; //$_GET['action']不为空,则$action = $_GET['action']}else{ $action = "default"; //如果$_GET['action']为空则$action = 'default'}echo "分支语句处理后的结果:".$action;
复制代码

执行结果:

执行运算符(``)

PHP 支持一个执行运算符:反引号(``)。注意这不是单引号! PHP 将尝试将反引号中的内容作为操作系统命令来执行,并将其输出信息返回(例如,可以赋给一个变量而不是简单地丢弃到标准输出)。使用反引号运算符"``" 的效果与函数 shell_exe0 相同。

<?php//使用反引号(``)执行服务器操作系统的命令,并将结果赋给交量$output$output = `ls -al`;//输出操作系统的令返回的结果echo "<pre> $output </pre>";
复制代码

:使用执行运算符(``)或是一些函数执行操作系统命令时, 所执行的命令是根据操作系统决定的,不同的操作系统命令有所不同。为了保证程序可以跨平台和系统安全,在开发时能使用 PHP 函数完成的功能就不要去调用操作系统命令来完成。

错误控制运算符


PHP 支持一个错误控制运算符: @。当将其放置在一个 PHP 表达式之前时,该表达式可能产生的任何警告信息都将被忽略。使用错误控制运算符“@”时要注意,它只对表达式有效。对新手来说,一个简单的规则就是:如果能从某处得到值, 就能在它前面加上“@”运算符。 例如,可以把它放在变量、函数调用及常量等之前。不能把它放在函数或类的定义之前,也不能用于条件结构,如:if 和 foreach 分支语句等。

<?php//当打开一个不存在的文件时会,产生警告,使用@将其忽赔掉$my_file = @file('non_existent_file);
//除数为0会产生警告,使用@将其忽略掉@$num = 100/0;
//输出空使用头发送函数前面不能有任何输出, 空格、空行都不行,否则会产生警告,使用@将其忽略掉@header("Location: http://www.baidu.com/");
复制代码

提示:PHP 程序在遇到一些错误情况时,都会产生一些信息报告, 这对于程序调试是非常有用的。尽量根据这些信息报告将遇到的错误解决掉,而不是直接使用“@”将其屏蔽。如果直接屏蔽掉这些警告信息,只是警告信息不会输出给浏览器,而存在的错误并没有解决。

发布于: 刚刚阅读数: 4
用户头像

迷彩

关注

我的工作是常年写bug|公众号:编程架构之美 2020-06-18 加入

修bug的菜鸟~公众号:“互联网有啥事”已改名为“编程架构之美”

评论

发布
暂无评论
【web 开发基础】PHP 快速入门(10)-PHP 其他运算符详解_web开发_迷彩_InfoQ写作社区