一、变量
定义变量
$i = 1;//定义一个名字为i值为1的变量
$i = 2;//变量的值可以随意改变
变量命名规则
变量以 $ 符号开头,其后是变量的名称。
变量名称必须以字母或下划线开头。
变量名称不能以数字开头。
变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)。
变量名称对大小写敏感($y 与 $Y 是两个不同的变量)。
定义常量
const pi = 3.1415926;//定义一个常量,常量的值定义后不能改变
常量命名规则
常量是单个值的标识符(名称)。在脚本中无法改变该值。
有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。
与变量不同,常量贯穿整个脚本是自动全局的。
二、数据类型
基础数据类型
整型:int/integer,系统分配4个字节
$a = 110;//十进制
$b = 0b110;//二进制
$c = 0110;//八进制
$x = 0x110;//十六进制
var_dump($a,$b,$c,$x);
浮点型:float/double,系统分配8个字节
$f = 1.2;//浮点型数据
var_dump($f);
字符串:string,系统根据实际长度分配字节
$str = '字符串';
var_dump($str);
布尔值:bool/boolean,只有true和false两个值
$t = true;//表示正确或者1
$f = false;//表示错误或者0
var_dump($t,$f);
复合数据类型
对象类型Object:存放对象
数组类型Array:存放多个数据
特殊数据类型
资源类型:resource,存放资源数据(数据库,文件等等)
空类型:NULL
三、流程控制
顺序结构
代码自上而下,顺序执行
分支结构
一个条件,多个可执行代码块
if 分支
$name = '张三';
if($name == '张三'){
echo '你好!我是张三';
}else{
echo '我不是张三';
}
switch 分支
$name = '李四';
switch($name){
case '张三':
echo '早上好!',$name,'。';
break;
case '李四':
echo '中午好!',$name,'。';
break;
case '王五':
echo '晚上好!',$name,'。';
break;
default:
echo '查无此人';
break;
}
循环控制
重复执行一段可控制的代码块
for 循环
for(表达式1;表达式2;表达式3){
循环体;
}
表达式1:初始化条件,可以有多个赋值语句存在,但需要用英文逗号隔开
表达式2:循环结束条件,
表达式3:改变循环条件
$sum = 0;
for($i = 1 ; $i <= 100 ; $i++){
$sum += $i;
}
echo '1-100的累加和:',$sum;
//求1-100的累加和
while 循环
while(条件表达式){
循环体;
改变条件表达式;
}
$i = 1;
$sum = 0;
while($i <= 100){
$sum += $i;
$i++;
}
echo '1-100的累加和:',$sum;
do-while 循环
do{
循环体;
}while(条件表达式);
ps:do-while会至少执行一次循环体。
$i = 1;
$sum = 0;
do{
$sum += $i;
$i++;
}while($i <= 100);
echo '1-100的累加和:',$sum;
break:中止循环
$i = 1;
$sum = 0;
while(true){
//写一个死循环,利用break退出while循环
if($i > 100){
//满足条件退出循环
break;
}
$sum += $i;
$i++;
}
echo '1-100的累加和:',$sum;
continue:跳过本次循环,进行下一次循环
echo '只输出5的倍数:<br/>';
for($i = 1 ; $i <= 100 ; $i++){
if($i % 5){
continue;
}
echo $i,'<br/>';
}
流程控制替代语法
替换前 | 替换后 |
---|---|
<?php for($i = 1 ; $i < 10 ; $i++){ ?> <?php }?> | <?php for($i = 1 ; $i < 10 ; $i++): ?> <?php endfor;?> |
<?php if($i>10){ ?> <?php }?> | <?php if($i>10): ?> <?php endif;?> |
<?php while($i <= 10){ ?> <?php }?> | <?php while($i <= 10): ?> <?php endwhile;?> |
… | … |
<table>
<?php for($i = 1 ; $i < 10 ; $i++){ ?>
<tr>
<?php for($j = 1 ; $j <= $i ; $j++){ ?>
<td style="border: 1px black solid;">
<?php echo $i.'*'.$j.'='.$i*$j; ?>
</td>
<?php }?>
</tr>
<?php }?>
</table>
<table>
<?php for($i = 1 ; $i < 10 ; $i++): ?>
<tr>
<?php for($j = 1 ; $j <= $i ; $j++): ?>
<td style="border: 1px black solid;">
<?php echo $i.'*'.$j.'='.$i*$j; ?>
</td>
<?php endfor?>
</tr>
<?php endfor?>
</table>
四、文件
文件加载
在文件加载(include 或者 require)的时候,系统会自动将被包含的文件代码嵌入当前文件中。
include 'while.php'
//默认为当前目录下
include :执行一次加载一次
include_once : 只执行一次
require:报错不再执行
文件加载路径
绝对路径
本地绝对路径
windows:盘符:/路径/php文件
linux:/路径/ php文件
网络绝对路径:相对于网站主机名字对应的路径
Localhost/index.php
相对路径
.|./:当前文件夹
…/ :当前文件夹的上一级目录
文件嵌套
文件中包含另一个文件,另一个文件又可以包含另一个文件。
五、函数
函数语法
语法
function,是一种语法结构,将实现某个功能的代码块封装到一个结构中,从而实现代码的复用性。
基本语法:
function 函数名([参数]){
函数体;
函数返回值;
}
//定义函数
function fun1(){
echo '我是一个函数。';
}
//调用函数
fun1();
命名规则
字母、数字和下划线组成,但是不能数字开头。
驼峰法:除了第一个单词外,之后的所有单词首字母都大写 showPrint();
下划线法:单词之间用下划线隔开,单词都是小写 show_print();
在一个脚本周期内,不能出现相同的函数。
参数
形参
形式参数,不具有实际意义的参数,是在函数定义时使用的参数。
实参
实际参数,具有实际数据意义的参数,是在函数调用时使用的参数。
function fun1($a,$b){//形参可以有多个
echo $a+$b;
}
fun1(10,20);//传入实参