1.PHP:全称Hypertext Preprocessor 超文本预处理器,是一门脚本语言,基本都用在web应用中的中间层,负责数据库以及前台页面交互和信息传递
2.修改时区:php.ini配置文件
```
date.timezone = PRC
```
3.php标签
```
//php默认标签
?>//需要开启short_open_tag,即short_open_tag = On
<% %>//需要开启asp_tags,即asp_tags = On
= ?>//用于输出,等同于- 可以直接使用
<%= %>//用于输出,等同于- 需要开启asp_tags,才可以使用
```
4.注释
行注释`//你好 #你好`
块注释`/*你好你好*/`
5.常见输出语句:
print:打印变量,字符串,表达式
echo :能够实现print打印,可以打印多个变量
var_dump:输出数组,输出类型
printf:以%s字符串,%d整型,%f浮点数输出
6.变量:脚本周期内,其值可以发生改变的量
7.变量命名规则:
以$符号开头,后面跟变量名称
变量名称必须以字母下划线开头
变量名称不能以数字开头
变量名称只能包含字母数字下划线
变量名称对大小写敏感
8.值传递和引用的区别:
值传递,是把实参的值给形参,对形参的修改不会影响实参的值
引用传递,以地址方式传递参数传递以后,形参和实参都是同一个对象,只是名字不同而已对形参修改将影响实参的值
9.预定义变量
超全局变量:超全局变量是在全部作用域中始终可用的内置变量
$_GLOBALS:引用全局作用域中可用的全部变量
$_SERVER:服务器和执行环境信息
$_GET:HTTP GET变量
$_POST:HTTP POST变量
$_FILES:HTTP 文件上传变量
$_REQUEST:HTTP Request 变量
$_SESSION:Session变量
$_ENV:环境变量
$_COOKIE:HTTP Cookies
10.常量
脚本周期内,其值不发生改变的量
define()定义常量
判断常量是否存在,`defined('名')`返回布尔值
get_defined_constants()获取已经定义常量列表
11.php版本号:PHP_VERSION
安装环境:PHP_OS
php整型在内存中字节长度:PHP_INT_SIZE
php整型最大值:PHP_INT_MAX
12.魔术常量
(1). __FILE__ 当前文件路径
(2). __DIR__ 当前文件目录
(3). __LINE__ 在文件文件的那一行
(4). __FUNCTION__ 在当前文件的那个函数中 返回 函数名
(5). __CLASS__ 在当前文件中的那个类中 返回 类名
(6). __METHOD__ 在当前文件的类中的那个方法中 返回 类名::方法名
13.数据类型
php支持8种数据类型
四种标量类型:interger整型,string字符串,float/double浮点型,boolean布尔型
两种复合类型:array数组,object对象
两种特殊类型:resource资源,NULL
14.进制的概念:
十进制0~9
二进制0~1
十六进制0~9a~f
八进制0~7
15.单引号和双引号的区别:
单引号不能对变量进行解析
双引号可以对变量进行解析
内部只有纯字符串的时候,用单引号(速度快),内部有别的东西(如变量)的时候,用双号引更好点
16.定界符Heredoc无单引号
```
$str = <<
heredoc;
```
17.定界符Nowdoc有单引号
```
$str = <<<'nowdoc'
//字符串内容
nowdoc;
```
18.NULL类型
1. 使用没有赋值变量
2. 使用unset之后的变量
3. 给变量赋值一个Null
4. 打印一个没有返回值的函数
19.类型转换
自动类型转换
1. 字符串类型自动转换数值类型
2. 字符串不是数字开头,转换成0
3. 字符串如果已经被字母隔开,后边数组不用
4.字符串以指数形式,php会识别
5.bool类型flase情况:整型0,浮点数0.0,字符串'',空null,数组array(),字符串'0'
20.类型强制转换
(类型)变量名
自动类型转换和强制类型转换是一样的
强制类型转换不会改变原类型数据和值
21.类型相关函数
gettype()类型
settype()类型
22.isset与empty
isset()函数 一般用来检测变量是否设置
empty()函数 判断值为否为空
23.|| &&的区别
&&只有2边条件都为真的时候,才是真的
||2边条件为真的时候,就是真的
24.选择结构
if (if else )
switch
循环结构
for
foreach
while(){}
do{}while()
25.break continue 区别
break跳出整个循环,continue跳出当层循环
26.1)require和include区别
require: 当我们载入一个没有存在的文件的时候,会报一个 致命性错误,后续的代码不会执行;
incldue: 当我们载入一个没有存在的文件的时候,会报一个 警告,后续的代码会执行
2)include和include_once区别
include_once 只导入一次
同样适用于 require 和 require_once;
27.exit; die
代码一点遇到 exit或者是die就会终止,后续的代码肯定不会 执行!
28.记录错误日志
在php.ini中设定
log_errors = on;//on表示记录,off表示不记录