一:php基础概述
PHP的语法借鉴吸收了C语言,Java和Perl等流行计算机语言的特点,易于一般程序员学习
PHP的主要目标时允许网络开发人员快速编写动态页面
简单点说PHP主要被用于开发各种类型的网站程序
脚本后缀名:.php
与html语言进行混编,脚本的后缀名依然是php
细化点说PHP可以用于收集表单数据,生成动态网页,字符串处理,动态输出图像,处理服务端文件,与数据库交互,会话跟踪,
处理xml文件,支持大量的网络协议,服务端的其他相关操作
PHP是脚本语言,解释型语言,不需要事先编译,即可在服务器端运行
PHP可以运行在windows,Linux等各种操作系统上
windows:phpstudy
Linux:单独安装
1.1:web工作原理概述:
1,浏览器
2,输入url地址
3,显示网站内容
1.2:PHP运行环境安装
Apache + PHP + MySQL是PHP比较流行的生存环境
LAMP
1.3:php语言标记
开始标记:<?php
结束标记:?>
1:<?php ?>这之间就表示进入PHP模式,在开始和结束标记之外的内容都会被PHP解析器忽略
2:可以直接嵌入到html代码中,并且可以嵌入到html代码中的任何地方
3:在一个html文档中可以嵌入任意多个PHP标记
4:文件末尾的PHP代码段结束标记可以不要
1.4:指令分隔符【;】
php 用分号表示一句话的结束
结束标志?>就隐含一个分号,所以PHP代码最后一行可以不用加分号
1.5:注释:
注释内容不会显示在浏览器的源代码中,PHP运行的环境是服务器,我们浏览器端看到的是PHP引擎运行PHP代码后的执行结果
/* 多行注释 */
// 单行注释
1.6:遇到空白的处理
空白符包括:空格,制表符tab,换行
这些在PHP中都是无关紧要的(注意都是在英文输入法下输入的),可以将一个语句展开成人一行,或者紧缩在一行,
空格与空行的合理运用可以增强代码的清晰性与可读性,如果运用不合理反而会对阅读产生负担。
1.7:简单的php语句
1 phpinfo();
2 echo 用于输出简单的变量
3 var_dump();
用于输出变量值及其变量类型
二:php变量
2.1:概述
变量是临时存储值的容器
另外PHP脚本语言是一种弱类型的语言,和其他语言不同的是变量或者常量的数据类型由程序的上下文决定
2.2:变量的声明:
PHP的特性之一就是它不要求在使用变量之前声明变量,当第一次给一个变量赋值时,你才创建了这个变量,变量用于存储值,
比如数字,文本,字符串,数组等等,一旦设置了某个变量,我们就可以在脚本中重复的使用它
PHP中变量必须使用一个美元符号$ 后面跟着变量名来表示,使用赋值操作符(=)给一个变量赋值
引用赋值:
$c = &$a;
相当于给$a起了一个别名,$c的值改变,$a也随之改变;$a的值改变,$c也随之改变。绑定在一起,均指向同一内存地址
2.3:释放变量:
unset($name);
2.4:变量的命名:
1:严格区分大小写
2:字母,数字,下划线,不能以数字开头
$name1
$_name23
3:尽量不要使用php关键字做为变量名
2.5:可变变量:$$
$$name
2.6:变量的引用赋值:&$
2.7:PHP语法错误级别:
Error 结束脚本执行
Warr~ 只提示,不影响执行
Notice
2.8:变量类型:
变量类型是指保存在该变量中的数据的类型,具有相同的类型的数据才能彼此互相操作。使用var_dump(变量名) 可以输出变量的类型。
2.8.1:布尔类型
true
false
以下内容会被当作false,其他均会被认为true
1)布尔值false
2)0
3)浮点型0.0
4)空白字符串和字符串0
5)没有成员的数组
6)NULL
2.8.2:int
存储整数
2.8.3: float
存储小数
2.8.4:字符串:string
字符串的定义
''
""
注意:单引号定义的字符串中若有单引号,则需要转义符\
单引号定义的字符串中,$符号原样输出
双引号定义的字符串中,$符号是变量的开始,变量整体用{}括起来
单双 引号定义的字符串中输入特殊字符包括【' '' $...】需要转义
定界符:
定界符的开始和结束后面不能有任何字符,包括空白字符和注释
2.9:常量:不变的量
define("NAME","XXX");
echo NAME;
预定义常量:
__FILE__ 当前的文件名(包括路径)
__LINE__ 当前行数
__FUNCTION__ 当前函数名
__CLASS__ 当前的类名
__METHOD__ 当前对象的方法名
PHP_OS UNIX或WINNT等
PHP_VERSION 当前PHP服务器的版本
DIRECTORY_SEPARATOR \或/ 根据操作系统决定目录的分隔符
三:php运算符
3.1:算数运算符
<?php
$a = 10;
$b = 5;
$c = -$a;
echo $c;
echo "<hr />";
$c = $a + $b;
echo $c;
echo "<br />";
$c = $a - $b;
echo $c;
echo "<br />";
$c = $a * $b;
echo $c;echo "<br />";
$c = $a / $b;
echo $c;echo "<br />";
$c = $a % $b;
echo $c;echo "<hr />";
echo $a++; // 10 先输出,再自增
echo ++$a; // 12 先自增,再输出
echo "<br />";
echo $a; // 12
echo "<br />";
echo $a--; // 12
echo --$a; // 10
?>
3.2:逻辑运算符
非 ! 取反
与 and && $a和$b同时为true ---> true
或 or || $a和$b任一个为true ---> true
异或 xor $a和$b任一个为true,但不同时 ---> true
<?php
$a = true;
$b = false;
$c = !$a;
var_dump($c); // bool(false)
$c = $a and $b;
var_dump($c); // true
var_dump($c = $a and $b);
?>
3.3:比较运算符
比较参与运算的单元是否相同,相同为真,不同为假。
$a == $b 等于 TRUE,如果类型转换后 $a 等于 $b。
$a === $b 全等 TRUE,如果 $a 等于 $b,并且它们的类型也相同。
$a != $b 不等 TRUE,如果类型转换后 $a 不等于 $b。
$a <> $b 不等 TRUE,如果类型转换后 $a 不等于 $b。
$a !== $b 不全等 TRUE,如果 $a 不等于 $b,或者它们的类型不同。
$a < $b 小与 TRUE,如果 $a 严格小于 $b。
$a > $b 大于 TRUE,如果 $a 严格大于 $b。
$a <= $b 小于等于 TRUE,如果 $a 小于或者等于 $b。
$a >= $b 大于等于 TRUE,如果 $a 大于或者等于 $b。
$a <=> $b 太空船运算符(组合比较符) 当$a小于、等于、大于$b时分别返回一个小于、等于、大于0的integer 值。 PHP7开始提供.
$a ?? $b ?? $c NULL 合并操作符 从左往右第一个存在且不为 NULL 的操作数。如果都没有定义且不为 NULL,则返回 NULL。PHP7开始提供
<?php
$a = 0;
$b = false;
$c = 0.0;
$d = 1/3;
$e = 2/6;
$f = true;
echo '$a == $b:';
var_dump($a == $b); // bool(true)
echo "<br />";
echo '$a === $b:';
var_dump($a === $b); // bool(false)
echo "<br />";
echo '$a != $b:';
var_dump($a != $b); // bool(false)
echo "<br />";
?>
3.4:其他运算符
?: 三元运算符
$a=10>20?10:20;
`` 将字符串当作命令执行
@ 屏蔽提示
<?php
$a = 10<20?10:20;
echo $a; // 10
echo "<hr />";
echo `whoami`; // win2008-1\administrator
echo "<hr />";
echo @$name; // 屏蔽了错误提示
?>
四:php循环与控制
4.1:顺序执行:
php代码执行的时候,依次顺序执行
4.2:分支执行
4.2.1:双向分支:
if (判断条件){执行语句块1}else{执行语句块2}
4.2.2:多向分支
if (判断条件){执行语句块1}elif{执行语句块2}elif{执行语句块3}...else{执行语句块}
switch...case...default
switch:
rand随机数1-7每次刷新网页都不一样
<?php
$day = rand(1,7);
echo $day;
echo "<br />";
switch($day){
case 1:
echo "monday";
break;
case 2:
echo "tuesday";
break;
case 3:
echo "wednesday";
break;
case 4:
echo "thursday";
break;
default:
echo "what?";
}
?>
4.3:循环执行:
4.3.1:while
当满足条件时,执行
计数器,变量
判断条件
4.3.2:do{}while()
先执行,再判断
<?php
$a = 0;
do{
echo ++$a;
}while($a < 10)
?>
4.3.3:for循环:
for(;;){}
<?php
for($a=0;$a<10;$a++){
echo $a."<br />";
}
?>
4.4:流程控制:
4.4.1:break
break
break 2; 跳出两层循环
<?php
for($i=0;$i<10;$i++){
echo $i."<hr />";
for($j=0;$j<5;$j++){
echo $j."<br />";
if($j==3){
echo "xxxxxx";
break 2; // 跳出两次循环
}
}
echo "<hr />";
}
?>
4.4.2:continue:跳过本次循环
<?php
for($i=0;$i<10;$i++){
echo $i."<hr />";
for ($j=0;$j<5;$j++){
if ($j == 3){
continue; // 跳过本次(第三次)循环
}
echo $j."<br />";
}
}
?>
4.4.3:die();和exit();
都是直接结束脚本
<?php
for($i=0;$i<10;$i++){
echo $i."<hr />";
for ($j=0;$j<5;$j++){
if($j==3){
# die("the end");
exit("the end");
}
echo $j."<br />";
}
}
?>