0X01 基础语法
php语言标记
<?php ?>之间的代码就表示进入了PHP模式,在开始和结束标签之外的内容都会被PHP解析器忽略。
php代码可以嵌入到html代码中;
PHP开始标记:<?php
代码部分
PHP结束标记:?>
变量
变量就是一个可以改变的量,php中定义一个变量必须以“$”符号开始。
<?php
$x = 1;
$y = 2;
$z = $x + $y;
echo $z;
?>
变量名命规范
以$开头,后面可以接英文字符;
严格区分大小写;
变量不能以数字开头,特殊字符不能出现在变量名中;
下划线“_”不属于特殊字符,可以作为变量开头;
变量名可以使用中文,但不建议使用;
定义变量名尽量有意义,和变量的作用相一致。
正确变量名:
$x
$_int
$demo1
$boy1girl
错误变量名:
$@x
$y#
$1a
$2@
变量的操作
= 给变量赋值
echo 输出变量名
isset() 判断一个变量是否存在
unset() 销毁变量
注释
//代码 单行注释
/代码/ 多行注释,“/”和“/”之间的内容都会被注释
单引号和双引号
单引号不解释变量,双引号解释变量;
双引号执行转义字符,双引号不转移(\n,\r,\t);
能使用单引号尽量不适用双引号,因为单引号效率要比双引号快;
如果字符串和变量一起连接的时候,可以用 “.” 号连接;
如果双引号里面插入单引号,单引号里面插入变量,变量会解析;
如果双引号里面插入变量,可以在后面插入空格或者 ”,“ 号,或者用 "{}" 包含变量,不然程序会认为这是一个整体;
<?php
$name = "辛巴";
echo ‘$name’; //输出:$name
echo "$name" //输出:辛巴
echo ‘\n’; //输出:\n
echo “\n”; //输出:[换行]
?>
变量和字符串同时输出
<?php
$name = '张三';
echo $name.'李四';
?>
输出效果:张三李四
<?php
$name = '张三';
echo "{$name}李四";
?>
输出效果:张三李四
数据类型
类型 分类 示例
标量 整型(整数) 1,2,5,666
浮点型(小数) 3.14,1.1,100.01,-4.44
布尔类型(真和假) true,false
混合类型 数组(array) [1,2,3,"abc",5,6]
对象(object)
特殊类型 空(null)
资源(resource) 计算机上的图片、音乐、视频、网络请求等都是资源
强制类型转换
intval() //转换为整型
floatval() //转换为浮点数
strval() //转换为字符串
boolval() //转换为布尔值
空转换为整形是 ”0“;
空转换为浮点型变成浮点型的 ”0“;
空转换为字符串为空字符串'',引号间无任何内容;
整形如果后面有字符串,会去掉字符串只保留前面的数字;
浮点型后面如果有字符串,会把字符串去掉保留前面的数字;
判断数据类型常用函数
is_array() //判断数组
is_string()
is_bool()
is_float()
is_object()
is_int()
is_numeric() //判断数值
is_resource()
is_null()
is_scalar() //判断标量
gettype() //获取数据类型
var_dump() //输出值还有类型
常量
常量是程序运行不可改变的量。
常量的定义
define('常量名','常量值')
<?php
define('king','study');
echo king;
?>
注意:
常量不能重复定义;
常量定义一般使用大写字母,跟系统保持一致;
常量的值只能是标量;
常量的作用域是去全局的;
使用常量的时候不用加 ”$“ 符号;
常量不能写道字符串中;
判断常量是否被定义:
difined('常量名'); //返回1表示已定义,0表示未被定义
系统常量
FILE //当前使用文件(路径+文件名)
LINE //当前代码所在行的行数
DIR //当前访问文件所在的目录
PHP_OS //获取当前系统信息
PHP_VERSION //获取系统的PHP版本信息
FUNCTION //获取当前函数名
M_PI //圆周率
MHTHOD //获取当前成员方法名
NAMESPACE //获取当前命名空间名字
TRAIT //获取当前TRAIT名字(多继承)
CLASS //获取当前类名
数据操作符
算术运算符
- //加
- //减
- //乘
/ //除
% //求模(取余)
++ //自增
-- //自减
赋值运算符
= //等于
-= //减等于
+= //加等于
*= //乘等于
%= //除等于
.= //字符串拼接
比较运算符
//大于
< //小于
= //大于等于
<= //小于等于
== //等于(只判断值)
=== //绝等于(不止判断值,还判断类型)
!= //不等于
!== //绝不等于
逻辑运算符
&& //与
|| //或
! //非
流程控制
单分支结构
if (条件)
{
真区间;
}
双分支结构
if (条件)
{
真区间;
}
else
{
假区间;
}
示例:
<?php
$num1 = 666;
$num2 = 999;
if ($num1 == $num2)
{
echo '我是小哥哥!';
}
else
{
echo '我是小姐姐!';
}
?>
//输出结果:我是小姐姐!
多分支结构
if (条件1)
{
执行语句1;
}
else if(条件2)
{
执行语句2;
}
else if(条件3)
{
执行语句3;
}
...
else
{
执行语句 n ;
}
双向分支结构
<?php
switch(条件值)
{
case 1:
echo 1;
break;
case 2:
echo 2;
break;
case 3:
echo 3;
break;
default:
echo '我是默认值!';
break;
}
?>
示例:
//掷筛子小游戏
<?php
$touzi = mt_rand(1,6); //随机生成一个1-6的随机数
echo "您的骰子是:$touzi <br />";
switch ($touzi)
{//代码效果参考:http://www.zidongmutanji.com/bxxx/392246.html
case 1:
echo '真心话!';
break;
case 2:
echo '大冒险!';
case 3:
echo '亲一个异性!';
break;
case 4:
echo '喝一杯!';
break;
case 5:
echo '唱首歌!';
break;
case 6:
echo '跳个舞';
break;
}
?>
循环结构
for循环
for ($i=0;$i>5;$i++)
{
echo $i.'
';
}
while循环
$i=0;
while ($i<5)
{
echo $i.'
';
$i++;
}
do while循环
$i=0;
do
{
echo $i.'
';
$i++;
}
while ($i<5);
break和continue
break
条件符合终止循环。
continue
符合条件终止此次循环,并且继续循环,知道循环结束。
编程实战:九九乘法表
<?php
for ($m = 1;$m <= 9;$m ++)
{
for ($n=1;$n<=$m;$n++)
{
echo $n.'X'.$m.'='.$n*$m.' ';
}
echo '<br />';
}
?>
/输出效果:
1X1=1
1X2=2 2X2=4
1X3=3 2X3=6 3X3=9
1X4=4 2X4=8 3X4=12 4X4=16
1X5=5 2X5=10 3X5=15 4X5=20 5X5=25
1X6=6 2X6=12 3X6=18 4X6=24 5X6=30 6X6=36
1X7=7 2X7=14 3X7=21 4X7=28 5X7=35 6X7=42 7X7=49
1X8=8 2X8=16 3X8=24 4X8=32 5X8=40 6X8=48 7X8=56 8X8=64
1X9=9 2X9=18 3X9=27 4X9=36 5X9=45 6X9=54 7X9=63 8X9=72 9X9=81 /
0X02 时间
时间戳
时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数。
time() //时间戳函数
//显示效果:
1580629189
以可读方式读取:
<?php
$time = time();
echo date('Y-m-d H:i:s',$time);
?>
//显示效果
2020-02-02 15:42:06
设置时区
方法一:
date_default_timezone_set(); //中国即“PRC”
方法二:
修改配置文件php.ini——>date.timezone="UTC",将UTC替换为PRC