写在前面:
PHP语句分隔符:
1、在PHP中,代码以行为单位,系统需要通过判断行的结束,通常都用;表示结束。
注注注:PHP中标记结束符?>有自带语句结束符的效果,最后一行PHP代码可以没有语句结束符。
2、PHP中代码的书写并不是全嵌入到HTML中,而是单独存在,所以可以不用标记结束符?>
一.变量与常量
变量
1.变量名字必须以”$”开头;
2.删除变量:unset($var2)
3.预定义变量
即提前定义的变量,由系统定义的变量,存储许多要用到的数据(预定义变量都是数组)
4.变量传值
如果一个变量保存的值刚好是另外一个变量的名字,则可直接通过访问一个变量得到另外一个变量的
值:但需在变量前多加一个$符号
$a = 'b'; // a变量的内容正好是b变量的名称,故称a为可变变量
$b = 'bb';
echo $$a; // 使用时需加一个$符号
常量
系统常量
魔术常量:由双下划线+常量名+双下划线组成,其值会随着环境变化而变化,用户无法改变。
$a = 'b'; // a变量的内容正好是b变量的名称,故称a为可变变量
$b = 'bb';
echo $$a; // 使用时需加一个$符号
二.常量
',PHP_VERSION,'
',PHP_INI_SIZE,'
',PHP_INI_MAX; // 有符号整形
// 魔术常量
echo '
',__DIR__,'
',__FILE__,'
',__LINE__;
echo __LINE__; // 输出的行数会变
数据类型
数据转换方式
1、自动转化:系统根据自己的需求判断,自己转化(用的较多、但效率较低)。
强制转换(手动):在变量之前增加一个(),并在括号里面写上对于的类型,其中NULL特殊,需用
unset。
转换说明:
- 1、以字母开头的字符串,永远为0;
- 2、以数字开头的字符串,取到碰到字符串为止。(不会同时包含两个小数点)
注: var_dump 输出展示展示代码内容,结构与类型。该函数作可以窥探所有内容的类型,以及内部信息
案例:
',(float)$a,(float)$b; // 01.1
// 类型判断
echo '
';
var_dump(is_int($a)); // bool(FALSE)
var_dump(is_string($a)); // bool(TRUE)
// 获取数据类型
echo '
';
echo gettype($a); // string(虽然前面强制转换了,但并未改变本身)
// 设置类型
var_dump(settype($b,'int')); // 先将字符串转换为int型,转换成功返回true,var_dump判断
是否为bool型,故显示 bool(true)
echo gettype($b),$b; // interger1
进制转换api
- Decbin():十进制转二进制
- Decoct():十进制转八进制
- Dechex():十进制转十六进制
- Bindec():二进制转十进制
三.运算符
php其他的运算符和C都一样,重点看一下比较运算符
注:全等于和不全等是是要考虑数据类型的
$a = '123'; // 字符串
$b = 123; // 整型
var_dump($a == $b); // 结果: bool(true)
var_dump($a === $b); // 结果: bool(false) 不全等于
// 连接运算符 .(将字符串连接一起) .=(将左边内容与右边内容连接起来并重新赋值)
$e = 'hello';
$f = 123;
echo $e . $f; // hello 123(注意,此处有强制类型转换)
$e .= $e;
echo $e; // hello 123
// 错误抑制符:@(可能出错的表达式),在PHP中有一些错误可以提前预知,但又不想报错,这就需要错误
抑制符。
$g = 0;
echo $f % $g; // 此时会报错
echo @($f % $g); // 不会报错
// 三目运算符(问号表达式) 表达式1 ? 表达式2:表达式3
echo $g ==0?1:2;
四.流程控制
1.完全和C相同,唯一要注意的就是变量名要记得加上$
2. 嵌入到html中的时候语法会有变化
五.文件包含
1.include ‘文件名’:相当于把文件里的代码加进去,类似于C
2.include_once ‘文件名’:
3.require:和include相同
include会执行多次,导致报错(重复定义变量)。。而include_once不会出现这种情况。
require和include区别在于:若未包含文件,则报错形式不一样。(require包含错误文件,则include后不l
再执行;include未包含文件,会警告,但是仍会执行后面的。