一、PHP是什么?
PHP 代码在服务器上执行,而结果以纯文本返回浏览器,以前是Personal Home Page的缩写,它是英文超级预文本处理语言。
现在更改为PHP:Hypertext Preprocessor,超文本预处理器,是一种HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML 文档的语言,语言的风格类似于C语言,被广泛的应用。
PHP最稳定版本:7.3.10(2019年9月26日)
PHP最新发布版本:7.4.0RC4(2019年10月18日)
二、主要特点
(一)开源性和免费性
由于PHP的解释器的源代码是公开的,所以安全系数较高的网站可以自己更改PHP的解释程序。另外,PHP 运行环境的使用也是免费的。
有很多开源的框架或开源的系统可以使用,比如比较知名的开源框架有Zend Framework、CakePHP、CodeIgniter、symfony等,开源论坛有Discuz!、Phpwind等,开源博客 WordPress,开源网店系统如Ecshop、ShopEx等,开源的SNS系统如UCHome、ThinkSNS等。
(二)快捷性
PHP是一种非常容易学习和使用的一门语言,它的语法特点类似于C语言,但又没有C语言复杂的地址操作,而且又加入了面向对象的概念,再加上它具有简洁的语法规则,使得它操作编辑非常简单,实用性很强。
(三)数据库连接的广泛性
PHP可以与很多主流的数据库建立起连接,如MySQL、ODBC、Oracle等,PHP是利用编译的不同函数与这些数据库建立起连接的,PHPLIB就是常用的为一般事务提供的基库。
(四)面向过程和面向对象并用
在PHP语言的使用中,可以分别使用面向过程和面向对象, 而且可以将PHP面向过程和面向对象两者一起混用,这是其它很多编程语言是做不到的。
三、优点
(一)流行,容易上手
PHP是目前最流行的编程语言,这毋庸置疑。它驱动全球超过2亿多个网站,有全球超过81.7%的公共网站在服务器端采用PHP。PHP常用的数据结构都内置了,使用起来方便简单,也一点都不复杂,表达能力相当灵活。
(二)开发职位很多
在服务器端的网站编程中PHP会更容易帮助你找到工作。很多互联网相关企业都在使用PHP开发框架,所以可以说市场对PHP的开发程序员的需求还是比较大的。
(三)仍然在不断发展
PHP在不断兼容着类似closures和命名空间等技术,同时兼顾性能和当下流行的框架。版本是7之后,一直在提供更高性能的应用。
(四)可植入性强
PHP 语言在补丁漏洞升级过程中,核心部分植入简单易行,且速度快。
(五)拓展性强
PHP 语言在数据库应用过程中,可以从数据库调取各类数据,执行效率高。
四、缺点
PHP的解释运行机制。这种运行机制使得每个PHP页面被解释执行后,所有的相关资源都会被回收。也就是说,PHP在语言级别上没有办法让某个对象常驻内存。在PHP中,所有的变量都是页面级的,无论是全局变量,还是类的静态成员,都会在页面执行完毕后被清空。
三、在Web开发中的应用
php被广泛使用的多用途开源脚本语言,一种较为流行的开发动态网页使用的一种程序语言,属于服务器端语言,开发web应用程序的最理想工具,具有源代码开源免费、语法简洁、跨平台功能强大、灵活易用、高效等优点,PHP称为web脚本技术的先驱,融合了一些现代编程语言,比如说java C perl语言的一些最佳特性之后,php作为Apache的模块和MySQL组合已经成为web服务器配置的一种标准
如果通过浏览器访问服务器,需要得到动态响应的结果,那么web服务器就需要委托PHP脚本编程语言来完成,看一下PHP完成的工作:
四、php应用领域
1.中小型网站的开发
2.大型网站的业务逻辑结果展示
3.Web办公管理系统
4.电子商务应用
5.Web应用系统开发
6.多媒体系统开发
7.企业级应用开发
PHP环境安装
PHP开发环境的安装分为两种方式,个软件单独安装和使用集成环境安装,这里我们主要讲解集成环境的安装。PHP的集成环境软件有很多,常见有XAMPP、PHPStudy、PHPNow、AppServ、 WampServer等,本篇文章主要讲解PHPStudy的安装。
PHPStudy相比其他集成软件有以下几点优势。
1、安装简单,无需进行复杂的环境设置,真正实现一键安装,对初学者非常友好。
2、提供多个PHP版本的切换。
3、网站域名配置操作非常便捷。
PHPStudy安装
1、下载安装包
进入官网选择最新的版本并下载,目前最新版为:phpStudy 2018版。下载后得到zip格式的压缩包,解压zip压缩包执行安装文件。
官网地址:http://phpstudy.php.cn/ 下载地址:http://phpstudy.php.cn/download.html
phpStudy 2018版下载地址:http://down.php.cn/PhpStudy20180211.zip
PHP标记风格
1.XML风格
以“<?php” 开始,以“?>”结尾,推荐使用这种标记风格,因为他不能被服务器禁用,在xml、xhtml中都可以用。
<?php
echo “hello world php”;
?>
2.脚本风格的标记是以"<script … >“开头,以”"结尾。
<script language="php">
echo "这是脚本风格的标记";
</script>
3.简短标记风格
如果想使用这种标记风格开发php程序,则必须保证PHP配置文件php.ini中设置short _open_tag=on,默认是off
<?
echo “这是简短标记风格”;
?>
4.ASP标记风格
如果想使用这种标记风格开发php程序,则必须保证PHP配置文件php.ini中设置asp_tags=on,默认是off
<%
echo "这是ASP风格的标记";
%>
一般来说我们常用标准风格和简短风格,脚本风格和asp风格基本不用
程序注释
注释可以理解为代码中的解释和说明,是程序中不可缺少的一个重要元素,使用注释不仅能够提高程序的可读性,而且还有利于程序的后期维护工作
(1) C++风格的单行注释(//)
(2) shell风格的注释(#)
<?php echo "这是shell脚本风格的注释。"; #这里的内容是看不到的。 ?>(3) C风格多行注释(/**/)
<?php /* echo "这是第一行注释"; echo "这是第二行注释
"; */ echo "使用C风格的注释"; ?>
(四)变量以及常量的用法
- 变量
(1) 变量含义
简单来说就是储存信息的容器,包含名称和值的标识符,变量就是可以随时改变的量
变量的语法结构: 变 量 名 称 = 变 量 的 值 ( 变量名称 = 变量的值( 变量名称=变量的值(x=2, a = 34 , a=34, a=34,c= x + x+ x+a)
(2) 变量的基本操作
① 定义变量
"; $var = "@@@@@@@@@@@@@@@@@@@@@@
"; echo $var; ?>
② 取值
<?php
//定义变量(赋值取值)
$num1 = 32;
$num2 = $num1;
$total = $num1 + $num2;
echo "num1是:".$num1."<br/>num2是".$num2;
echo "<hr/>";
?>
<?php
$var = 10;
$var = true;
$var = "string";
echo $var;
?>
③ 判断变量是否存在
isset()函数
<?php
//判断变量是否存在
$aa = isset($num1);
echo "aa是否存在?".$aa."<br/>";
var_dump($aa);
?>
<?php
$a = $b = $c = $d = "value";
if(isset($a)){
echo $a;
}else{
echo "not exists";
}
?>
④ 修改变量值
<?php
$b1 = 3;
$b2 = &$b1;
$b2 = 66;
$b1 = 100;
echo "<br/>b1的值是".$b1."<br/>b2的值是".$b2;
?>
⑤ 删除变量
unset(变量名)
b1的值是".$b1."
b2的值是".$b2; ?>
(3)变量命名的基本规则
① 在PHP中的变量名是区分大小写的。即
U
s
e
r
N
a
m
e
与
UserName与
UserName与username是不同的变量
② 变量名必须是以美元符号($)开始。
③ 开头可以以下划线和26个大小写的英文字母开始,不能以数字字符开头。
④ 为避免命名冲突,不允许使用与PHP内置的函数相同的名称。
⑤ 在为变量命名时,尽量使用有意义的字符串。
<?php
$a = 10;
$A = "abc";
echo $a."<br/>";
echo $A."<br/>";
echo "aaaa<br/>";
Echo "aaaa<br/>";
EcHo "aaaa<br/>";
ECHO "aaaa<br/>";
echO "aaaa<br/>";
phpINfo();
PHPinfo();
phpinfo();
?>
① 赋值传值(值传递):如 a = 1 , a=1, a=1,b= a ; 简 单 的 说 , 就 是 将 a;简单的说,就是将 a;简单的说,就是将a的值复制给$b;
相互独立的且互不影响;值是相等的;
② 引用传值(引用传递):应用于对象和资源,值传递加上&变为引用传递,如
a
=
1
,
a=1,
a=1,b=&
a
,
将
a,将
a,将a的引用关系复制给$b,新的变量引用了原来的变量
(6) 可变变量
一个变量的变量名可以动态设置和使用,所谓可变变量,无非就是一个变量的名字又是一个变量而已。
$a = "one";
$one = "two";
$two = "three";
$three = "A";
$a; //one
$$a; //two
$$$a; //three
$$$$a; //A
<?php
$one = "###############";
$two = "one";
$three = "two";
$four = "three";
echo $four."<br/>";
echo $$four."<br/>";
echo $$$four."<br/>";
echo $$$$four."<br/>";
?>
(7) 预定义变量(超全局变量/数组)
预定义变量又称为超级全局变量数组,是PHP系统中自带的变量,不需要重新定义
主要有
$GLOBALS[] 储存当前脚本中的所有全局变量,其KEY为变量名VALUE为变量值
$_SERVER[] 当前WEB服务器变量数组
$_GET[] 存储以GET方法提交表单中的数据
$_POST[] 存储以POST方法提交表单中的数据
$_COOKIE[] 取得或设置用户浏览器Cookies中存储的变量数组
$_SESSION[] 存储当前脚本的会话变量数组
$_FILES[] 存储上传文件提交到当前脚本的数据
$_ENV[] 存储当前WEB环境变量
R
E
Q
U
E
S
T
[
]
存
储
提
交
表
单
中
所
有
请
求
数
组
,
其
中
包
括
_REQUEST[] 存储提交表单中所有请求数组,其中包括
REQUEST[]存储提交表单中所有请求数组,其中包括_GET、
P
O
S
T
、
_POST、
POST、_COOKIE和
S
E
S
S
I
O
N
中
的
所
有
内
容
①
.
_SESSION中的所有内容 ①.
SESSION中的所有内容①._GET
Get请求发送数据的四种形式:
密码:
用户链接 <?php var_dump($_GET); ?>
② $_POST
基本形式:
密码:
<?php echo "
"; var_dump($_POST); var_dump($_SERVER); ?>
③
R
E
Q
U
E
S
T
其
实
是
_REQUEST 其实是
REQUEST其实是_GET和$_POST的合体
三者的数据是相对独立的
密码:".$pass; echo "
性别:".$gen[0]; ?>
④ $_SERVER
保存了服务器(服务器的一些固定变量信息)或客户端(用户浏览的当前网页的一些信息)的相关信息,常见的有:
$_SERVER[‘REMOTE_ADDR’]:用户也就是访问者的当前ip
$_SERVER[‘DOCUMENT_ROOT’]:该站点对应的实际文件夹的路径
$_SERVER[‘QUERY_STRING’]:当前访问的网页的数据信息
$_SERVER[‘SERVER_NAME’]:当前访问的服务器名
$_SERVER[‘PHP_SELF’]:当前访问的文件名
<?php
echo "<pre>";
var_dump($_SERVER);
echo "<table border='1'>";
foreach($_SERVER as $key=>$value){
echo "<tr>";
echo "<td>$key</td>";
echo "<td>".$value."</td>";
echo "</tr>";
}
echo "</table>";
?>
⑤ $GLOBALS
保存了用户定义的所有的全局变量的数据
(8) 与变量有关的函数
isset() 是否存在
empty() 是否为空
is_string() 是否为字符串
is_array() 是否为数组
is_resourse() 是否是资源类型
is_null() 是否为空
Is_numberic() 是否为数字
is_scalar 是否为标量
2. 常量
(1) 含义
通常表示一个不会变化的简单值得数据标识符,常量一旦定义就不能再改变他的值,也不能使用unset取消
(2) 声明规则
① 在任何地方使用都不需要$;
② 常量只能用标量类型(int float string bool )
③ 通常推荐全大写;
④ 常量在一声明时就给值;
(3) 定义与使用
① 通常用define()函数定义,define(“常量名”,常量值)
② 查看常量是否存在,defined(‘常量名’)
defined()函数的语法格式如下:
bool defined(string constant_name);
<?php
define("NEW_TAB","32");
$a = 99;
if(defined('HOME')){
echo HOME;
}else{
define('HOME',"abc");
}
echo HOME;
echo __FILE__;
echo __LINE__;
echo PHP_VERSION;
?>
(4) 预定义常量和魔术常量(系统提供)
不声明就可以使用,在不同场合值不同
魔术常量:FILE LINE FUNCTION (前后双下划线)
预定义常量:PHP_VERSION
一些常量是在 PHP 的内核中或者PHP默认定义的,叫做预定义常量
常量名 功 能
FILE 默认常量,当前执行文件的路径
LINE 默认常量,PHP程序行数
PHP_VERSION 内建常量 PHP程序的版本,如3.0.8 dev
PHP_OS 内建常量,执行PHP解析器的操作系统名称,如Windows
TRUE 该常量是一个真值(TRUE)
FALSE 该常量是一个假值(FALSE)
E_ERROR 该常量指到最近的错误处
E_WARNING 该常量指到最近的警告处
E_PARSE 该常量指解析语法有潜在问埋处
E_NOTICE 该常量为发生不寻常,但不一定是错误处
(一) 数据类型
1.总体划分
标量数据类型:
Boolean(布尔型) 最简单的类型 只有两个值,真(TRUE)和假(FALSE)
String(字符串型) 字符串就是连续的字符序列
integer (整型) 整型数据类型只能包含整数,可以是正数和负数
float (浮点型) 浮点数据类型用来存储数字,和整型不同的是它有小数位
复合类型:array,object
特殊类型:null,resource
<?php
$var = 10;
echo "<pre>";
var_dump($var);
echo "<pre>";
echo "<hr>";
$var = "abc";
echo "<pre>";
var_dump($var);
echo "<pre>";
echo "<hr>";
$var = true;
echo "<pre>";
var_dump($var);
echo "<pre>";
echo "<hr>";
?>
<?php
$var = array(1,2,3);
echo "<pre>";
var_dump($var);
echo "<pre>";
echo "<hr/>";
$var = new mysqli("localhost",'root','123456','offcnitc');
echo "<pre>";
var_dump($var);
echo "<pre>";
echo "<hr/>";
$var = fopen('1.php','a+');
echo "<pre>";
var_dump($var);
echo "<pre>";
echo "<hr/>";
$var = null;
echo "<pre>";
var_dump($var);
echo "<pre>";
echo "<hr/>";
?>
(1).整数类型 int integer
① 整数必须至少有一个数字
② 整数正负均可
③ 整数不能包含小数点,逗号或者空格
④ 整数有三种写法,十进制,十六进制(0X开头),八进制(0开头)
⑤ 整型数据类型只能包含整数,在32位的操作系统中,有效的范围是-2147483648 ~ +2147483647。64 位平台下的最大值通常是大约 9E18
(2).浮点数 float double real
①.包含小数点或者指数形式的数字(科学计数法)
②.浮点型可以用来存储整数,也可以保存小数,在32位的操作系统中,有效的范围是1.7E-308~1.7E+308。
浮点型有两种书写格式,例如:
(3).字符串 string
一个字符串通常通过下面的4种方法来定义:
①.单引号 ‘’
如果想要输出一个单引号,需在它的前面加个反斜线()。在单引号前或在字符串的结尾处想要输出反斜线,输入两条 ()注意,如果在任何其它的字符前加了反斜线,反斜线将会被直接输出。
②.双引号 “”
如果字符串是包围在双引号("")中,PHP将对一些特殊的字符进行解析:如\n (换行符)、 \r (回车符) 、 \t(Tab字符)等是比较特殊的一组字符
③. heredoc <<<
在该提示符后面,要定义个标识符,然后是一个新行。接下来是字符串本身,最后要用前面定义的标识符作为结束标志,结束时所引用的标识符必须在一行的开始位置, 而且,标识符的命名也要像其它标签一样遵守PHP的规则:只能包含 字母、数字和下划线,并且不能用数字和下划线作为开头
(4),布尔类型 bool boolean
①.保存一个真值(TRUE)或者假值(FALSE),通常用于条件测试,0,0.0,“”,null,array()都会视为false,其他都是true
②.手册》附录》类型比较
(5).数组 array()
①.数组是一组数据的集合,它把一系列数据组织起来,形成一个可操作的整体
②.数组中可以包括很多数据:标量数据、数组、对象、资源,以及PHP中支持的其他语法结构等
③.数组中的每个数据称为一个元素,毎个元索都有一个唯一的编号,称为索引。元索的索引只能由数字或字符串组成。元素的值可以是多种数据类型。
④.定义数组的语法格式如下:
a
r
r
a
y
[
k
e
y
]
=
"
v
a
l
u
e
"
;
或
array[key] = "value";或
array[key]="value";或array=array(key1 => value1,key2 => value2…)
⑤.其中参数key是数组元素的索引,value是数组元素的值。
(6).对象 object
对象是面向对象语言中的一个核心概念,对象就是类的一个实例,对象是存储数据和有关如何处理数据的信息的数据类型
对象的声明首先我们必须声明对象的类。对此,我们使用 class 关键词。类是包含属性和方法的结构。
然后我们在对象类中定义数据类型,然后在该类的实例中使用此数据类型
(7).资源 resource
①.资源是一种特殊的变量,保存了外部资源的一个引用。
②.由专门的函数来建立和使用的,比如打开文件、连接数据库和图形画布等特殊的句柄。
③.并由程序员创建、使用和释放,在使用资源时,要及时地释放不需要的资源。如果忘记了释放资源,系统自动启用垃圾回收机制,避免内存消耗殆尽。
(8).空类型 null
NULL,空值。顾名思义,表示没有为该变量设置任何值,另外,空值(null)不分大小写,null和NULL效果是一样的。为null的情况:
①.没有赋任何值
②.被赋值为null
③.被unset()函数处理过的变量
$a; //没有赋值的变量
$b = NULL; //被赋空值的变量
c
=
3
;
u
n
s
e
t
(
c = 3; unset(
c=3;unset(c); //使用unset()函数处理后,$c的值为空
2.数据类型转换方式
(1) 类型转换是指将变量或值从一种数据类型转换成其他数据类型。
①.一种是自动转换
②.另一种是强制转换
③.在PHP中可以根据变量或值的使用环境,自动将其转换成为最合适的数据类型,也可以根据需要,强制转换为用户指定的类型。
(2) 强制转换
①.强制类型转换:强制类型转换允许我们手动将变量的数据类型转换成为指定的数据类型
②.在变量前面加上一个小括号,并把目标数据类型填写在括号中来实现,int(变量或值),float(变量或值)
③.也可以用具体的转换函数,也就是intval()、floatval()和strval()等
④.或是使用settype(变量,类型)函数转换类型
setType(变量,类型); 类型可能有:int,integer,bool,boolean,float,double,string,array,object,null;
<?php
$a = "123.12acc";
settype($a, 'bool');
$str = 2.148e9;
$c = intval($str);
$zi = "12.23e1dddaass2";
$si = (float)$zi;
var_dump($si);
?>
(3) 自动转换
①.通常只有四种标量类型才能使用自动类型转换
②.布尔值、NULL和字符串都可以转成整型和浮点型。
③.有布尔值参与运算时,true将转成整型1,false将转成整型0再运算
④.当有null值参与运算时,将转成整型0。
⑤.字符串和整型运算时,字符串先转成数字。转换后的数字我们称为数值型字符串(整型或浮点型)
⑥.当整型和浮点型参与运算时,整型先转成浮点型再运算。
最常用的方式,开发时不用去管类型,变量会根据运行环境自动转换
<?php
$a = 10;
$b = 123.333;
$c= true;
$d = "11afaje";
$ss = $a + $d;
$num = $a + $b + $c +$d;
var_dump($num);
$em = null;
if(empty($em)){
echo "em为空";
}else{
echo "em不为空";
}
?>
(3) 变量类型检测
使用函数var_dump()来查看某个表达式的值和类型,在PHP中有很多函数可以对不同类型的数据进行检测,判断其是否属于某个类型
is_bool() //判断是否是布尔值
is_int()、is_integer()和is_long() //判断是否是整型
is_float()、is_double()和is_real() //判断是否是浮点型
is_string() //判断是否是字符串
is_array() //判断是否是数组
is_object() //判断是否是对象
is_null() //判断是否是NULL
is_numeric() //判断是否是任何类型的数字或者数字字符串
(二) 运算符
计算机所谓的计算,除了数值也离不开运算符号,运算符是计算机语言语法中必须有的一部分,是命令解释器对一个或者多个变量执行某种运算的符号,也叫操作符。
按运算符号的不同功能分为:
算数运算符、字符串运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、其他运算符、
1.算数运算符
参与数据运算的,最常用的符号
①.符号:+ - * / % ++ –
'; ?>
②.%,取余运算/求模运算:
它会把两边的数转为整数后在进行整除, 不要用小数和负数进行取余(不在使用范围)
<?php
header("Content-type:text/html;charset=utf-8");
$year = 2016;
if(($year%4==0 && $year%100!=0) || $year%400==0){
echo "今年是闰年";
}else{
echo "今年是平年";
}
echo "<hr/>";
$number = 199;
echo "取余结果为:".($number%10);
echo "<hr/>";
?>
③.++、–,递增、递减运算符,针对单独一个变量来操作
<?php
$num3 = 10;
$a = $num3++;
$b = --$a;
$c = $b++ + ++$b;
$d = $c-- - --$c;
echo $d;
?>
2.字符串运算符
在PHP中用英文的.连接字符串,也称连接运算符,它是二元运算符,连接左右两边的字符串,不仅可以将两个字符串连接起来合并为一个新的字符串,也可以将多个标量数据连接起来合并为一个新的字符串
<?php
header("Content-type:text/html;charset=utf-8");
$name = "Tom";
$age = 19;
$height = 1.75;
echo "我的名字是{$name},我的年龄是{$age},我的身高是{$height}";
echo "我的名字是".$name.",我的年龄是".$age.",我的身高是.".$height;
?>
3.赋值运算符
= += -= = /= %= .= 也属于二元运算符,左边必须是一个变量,右边是一个表达式
= 读法:被设置为、被赋值为
加等 += $a+=10
a
=
a=
a=a+10
减等 -= $a-=10
a
=
a=
a=a-10
乘等 = $a=10
a
=
a=
a=a10
除等 /= $a/=10
a
=
a=
a=a/10
点等 .= $a.=10
a
=
a=
a=a.“10”
<?php
$a = 10;
$a+=10;
$a-=10;
$a*=10;
$a/=10;
$a%=10;
$a.="abc";
echo $a;
$str='<table width="300" border="1">';
$str.='<tr>';
$str.='<td>';
$str.='123</td>';
$str.='</tr>';
$str.='</table>';
echo $str;
?>
4.比较运算符
比较两个数的大小
< >= <= == === != 或<> !==
比较运算符也叫条件运算符或关系运算符,也是一种二元运算符,两边都得有数
用于对运算符两边的操作数用于比较两个数据的值并返回一个布尔类型的结果
大于 >
小于 <
大于等于 >=
小于等于 <=
等于 == =为赋值符号,表达式会一直为真,不能用作比较
不等于 != <>
全等于 === 不仅要求内容相同,也要求类型相同
不全等 !==
<?php
$a = 11;
$b = 12;
if($a==18){
echo "true";
}else{
echo "false";
}
$q = 100;
$w = 100.0;
if($q===$w){
echo "deng";
}else{
echo "no";
}
?>
- 逻辑运算符
用来判断一个事情是对或者错,或者成立不成立,两边只能操作布尔型的值,处理后的结果也是布尔型的值
通常用在if语句的条件里或者while循环的条件里
①.逻辑与 :&& 或and,两边有一个为假即为假
//true && true true
// true && false false
// false && false false
// false && true false
②.逻辑或:||或 or,两边有一个为真即为真
// true || true true
// true || false true
// false || false false
// false || true true
③.取反操作:! 或not,真的变为假的,假的变为真的
只能操作bool型的值,执行完后返回的也是bool型的值
&& and 逻辑与,并且,两边有一个条件为假即为假
|| or 逻辑或,或者 两边有一个为真就为真
! not 取反 真的变为假的,假的变为真的
同一级不能同时出现不同的逻辑运算符,如果要出现需要用括号
<?php
header("Content-type:text/html;charset=utf-8");
var_dump(true && true);
var_dump(true && false);
var_dump(true || false);
var_dump(false && true);
var_dump(!true);
var_dump(!false);
$username='admin';
$password = '123456';
if($username=='admin' && $password=='123456'){
echo '用户名和密码输入正确<br/>';
}
if($username=='' || $password==''){
echo '所有的值都不能为空<br/>';
}
?>
6.其他运算符
三元运算符 ? :
语法:条件 ? 结果1 : 结果2
说明:问号前面的位置是判断的条件,如果满足条件时结果1,不满足时结果2
<?php
$a = 10;
$b = $a>5?$a:2;
echo $b;
$page = isset($_GET['page'])?$_GET['page']:1;
echo $page;
?>
7.运算符的优先级
所谓运算符的优先级,是指在应用中哪一个运算符先计算,哪一个后计算,与数学的四则运算遵循的“先乘除,后加减”是一个道理。
PHP的运算符在运算中遵循的规则是:
①.优先级高的运算先执行,优先级低的操作后执行,
②.同一优先级的操作按照从左到右的顺序进行。
③.也可以像四则运算那样使用小括号,括号内的运算最先进行。
④.大致:算术运算符》比较运算符》逻辑运算符
运算符优先级
结合方向 运算符 附加信息
右 ** 算术运算符
右 ++ – 类型和递增/递减
右 ! 逻辑运算符
左 * / % 算术运算符
左 + - . 算术运算符和字符串运算符
无 < <= > >= 比较运算符
无 == != === !== <> 比较运算符
左 && 逻辑运算符
左 || 逻辑运算符
左 ? : 三元运算符
右 = += -= *= **= /= .= %= &= |= ^= <<= >>= 赋值运算符
左 and 逻辑运算符
左 xor 逻辑运算符
左 or 逻辑运算符