一.初识php
1.php是什么
php(全称:Hypertext Preprocessor,即“PHP:超文本预处理器”)是一种开源的服务端脚本语言。php独特的语法混合了C、Java、以及PHP自创的语法。它可以更快的执行动态网页。php是将程序嵌入到HTML文档中去执行。
2.php能做什么
php 可以生成动态页面内容
php 可以收集表单数据
php 可以进行文字和图像处理
php 可以添加、删除、修改您的数据库中的数据
php 可以创建、打开、读取、写入、关闭服务器上的文件
php 可以限制用户访问您的网站上的一些页面
3.为什么使用php
php 可在不同的平台上运行(Windows、Linux、Unix、Mac OS X 等), 与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS、nginx 等),提供了广泛的数据库支持(mysql、oracle、db等),php是开源免费的,官网:http://www.php.net/,php易于学习,并可高效地运行在服务器端。
二.php基本语法
1.初识php脚本程序
(1)开始结束
php脚本以 <?php
开始,以 ?>
结束。
(2)php注释
单行注释//注释内容
多行注释/*注释内容*/
2.变量
(1)变量声明与赋值
$变量名称;
$变量名称 = 值;
(2)变量名命名规则
php变量必须以美元符号($)为前缀,变量名称必须以字母或下划线开头,包含字母、数字及下划线,变量名称禁止包含空格、斜线、反斜线等特殊符号,变量名称必须含义明确,不能使用关键字,变量名称建议遵守“小驼峰命名法”,php是一种“弱”类型语言,所以变量不需要声明数据类型变量名区分大小写
(3)变量输出
echo()
:echo() 函数输出一个或多个字符串,多个值之间用逗号分隔。echo() 函数实际不是一个函数,所以不必对它使用括号。然而,如果希望向 echo() 传递一个以上的参数,使用括号将会生成解析错误。
print()
:print() 函数输出一个字符串,print() 函数实际不是一个函数,所以不必对它使用括号
(4)数据类型
字符串型
字符型(String),必须括在定界符内,多个字符串用 .
连接
php字符数据类型的定界符有:
单引号 ' '
双引号 " "
转义字符
整型
整型(Integer),可以存储八进制、十进制、十六进制的整数
$a = 1234; // 十进制数
$a = -1; // 负数
$a = 0123; // 八进制数 (等于十进制 83)
$a = 0x1A; // 十六进制数 (等于十进制 26)
整型数的字长和平台有关,通常是4个字节(-2147483648~2147483647)
(5)转换
临时转换
转换成整型 –> (int)、(integer)
转换成浮点型 –> (float)、(real)、(double)
转换成布尔型 –> (bool)、(boolean)
转换成字符型 –> (string)
转换成数组 –> (array)
转换成对象 –> (object)
转换成空值 –> unset
$a=100;
$b=200;
(boolean)$a+$b=?//201
永久转换
通过系统函数settype()设置变量的数据类型,语法:bool settype(mixed $var,string $type)
$a=“1234b5”;
echo (int)$a; //临时转换为1234,
echo $a;//临时转换为1234,但是a的值还是不变的,输出1234b5
settype($a, int);//永久转换为1234
echo $a;//永久转换为1234,输出1234
unset() 销毁指定的变量。
3.常量
常量是用于临时(只有在我们的程序的运行过程中才存在)存储值(数据)的容器
定义和使用
define('常量名称',常量值)
或者 define("常量名称",常量值)
常量的命名
和变量一样 只能包含字母数字下划线 并且必须以 字母或者下划线开头,按照惯例常量名字总是大写的,自定义的常量是严格区分大小写的。
4.运算符
1、算术运算符
+、-、*、/、%
2、赋值运算符
=、+=、-=、*=、/=、%=、.=
3、比较运算符
>、<、==、!=、<=、>=、===、!==
三.流程控制
1.顺序执行
顺序控制:在程序流程控制中,最基本的就是顺序控制。程序会按照自上而下的顺序执行。
2.分支执行
单分支条件控制语句
if(条件表达式){
语句组;
//语句组为单条语句时可省略“{ }”。
}
当条件表达式的值为真(true)时,php将执行语句组,相反条件表达式的值为假(false)时,php将不执行语句组,忽略语句组执行下面的语句。
双分支条件控制语句
if(条件表达式){
语句组1
}else{
语句组2
}
if-else 条件判断与 if 条件判断类似,所不同的是,if-else 语句的条件表达式值为真(true)时,会执行 if 的本体语句(语句组1),而条件表达式值为假(false)时,则执行 else 的本体语句(语句组2)。
多分支条件控制语句
if(条件表达式1){
语句块1
}elseif(条件表达式1){
语句块2
... ...
}elseif(条件表达式n){
语句块n
}else{
语句块n+1
}
swich语句
switch (变量或表达式){
case 值1:
语句块1;
break;
case 值2:
语句块2;
break;
...
default:
代码段;
}
if语句嵌套
if(表达式1){
if(表达式2){
.. .. ..
}else{
.. .. ..
}
}else{
if(表达式3){ …
}
}
if语句的嵌套,即指if或else后面的语句块中又包含if语句。if语句可以无限层地嵌套在其他if语句,这给程序的不同部分的条件执行提供了充分的弹性。
3.循环执行
while语句
while (条件表达式)
{
循环体
}
do……while语句
do {
代码段
} while (条件表达式)
for循环
for (循环变量初始化表达式; 循环条件表达式; 更新循环变量表达式)
{
循环体
}
4.特殊的流程控制语句
continue语句
continue语句只能应用在while、do……while、for和switch语句中,continue语句用于中止本次循环。
break语句
break语句通常应用在while、do……while、for和switch语句中,break语句用于退出循环或者退出一个switch语句。
exit语句和die语句
当前的脚本中只要执行到exit语句,而不管它在哪个控制流程中都会直接退出当前脚本。