变量是存储数据的用的容器。
变量名的语法规则:
驼峰命名法
比如 myname 定义成 myName
帕斯卡命名法
比如myname 定义成 MyName
下划线命名法
比如myname 定义成 my_name
unset(变量名)
总结:值传递相当于是复制了一份数据,对原来的进行任何操作不会影响后面的
总结:引用赋值是两个变量指向同一个数据,其中一个变化了,另外一个也会跟着变化
常量里面存储的数据在脚本运行期间是不会改变的。常量名必须是大写的
const定义常量只能放在顶级目录,不能放在if语句或者function的{}的里面,define定义常量可以放在任何位置。
__LINE__和__DIR__因为会随着环境的变化而变化,所以又称为魔术常量。
442
四种标量:int(整数) float(浮点) string(字符串) bool(布尔)
两种复杂数据类型:Array(数组) Object(对象)
两种特殊的数据类型:null resource(资源)
1、单引号的效率要高
2、双引号可以解析变量,单引号不可以
(1)数字变字符串
(2)字符串变数字
isset()判断变量是否存在
defined()判断常量是否存在
empty()判断变量是否为空
gettype()获取变量存储的数据类型
settype()强制设置变量里的数据类型
is_numeric()判断是否是数字
var_dump()打印详细的数据类型
++ –
注意%如果是小数的话是先向下取整然后再取余
> >= < <= == === != !== “17”==17 true “17”===17 false “17”!=17 false “17” !==17 true 规律: !=和==只判断值是否相等 !==和===不仅要判断值还要判断数据类型
&& || !
true&&true true
false&& true false
true&&false false
false&&false false
&&的短路现象:一假为假 所以只要前面是false 整体结果为false
true||true true
true||false true
false||true true
false||false false
||的短路现象:一真为真 只要前面是真 整体结果为true
= += -= *= /= %=
.
表达式?表达式成立执行的结果:表达式不成立执行的结果
https://www.php.net/manual/zh/language.operators.precedence.php
1、+±-(有小括号先算小括号里面的)
2、!
3、* / %
4、+ -
5、比较运算符
6、赋值运算符
‘5.5’======5.5
‘5.5abc’=====5.5
‘’======0
‘abc5.5’======0
<?php // 如果当前时间是8点 开始早上上课 // 如果当前时间是12点 开始吃午饭 // 如果当前时间是14点 开始做下午练习 // 如果当前时间是18点 结束上课 // 如果都不满足 告诉今天没来上课 // echo time(); date_default_timezone_set('PRC'); // echo date('Y-m-d H:i:s',time()); $h=date('H',time()); if($h>=8&&$h<12){ echo '开始上早课'; }else if($h>=12&&$h<14){ echo '吃午饭'; }else if($h>=14&&$h<18){ echo '开始下午做练习'; }else if($h>=18&&$h<=24){ echo '下课啦'; }else{ echo '今天没来,白报名了'; } ?>
每个网站的头部和底部基本上一样的,我们没必要每个页面都写一会,我们可以写一遍header.html(头部)和footer.html(底部),然后哪个页面需要再引入使用就可以
include require include_once require_one include ‘文件地址’; include (‘文件地址’)其他同理
总结如下:
1、 require引入的文件如果不存在会报致命错误,而且后续代码也不会执行。
2、 include引入的文件如果不存在会报警告错误,而且后续代码可以执行。
3、 include_once和require_once引入的文件如果重复引入,还是加载一次
4、 include和require引入几次就加载几次
实际项目中基本用不到,但是面试的时候可能会问到
3&5
计算方法:先把左右的两个十进制数转换成二进制,然后把两个二进制的数竖向排列
,规律是一假为假,算出来的二进制的数还要再转换成十进制
先把3转换成二进制 除2取余法
0011
再把5转换成二进制 除2取余法 结果是0101
&是一假为假 假就认为是0
0011
0101
0 0 0 1
如果把0001转换成十进制,算法如下:
120+0*21+022+0*23=1+0+0+0=1
3|5
规律:
先把左右两个数转换成二进制,除2取余法,倒过来,高位补零,还是两个二进制竖向排列,规则是,一个为true(1),整体结果为true(1),把得到的二进制数转换成十进制
3转换成二进制是0011
5转换成二进制是0101
0011
0101
0 1 1 1
所以转换的结果是120+1*21+122+0*23=1+2+4+0=7