最近开始自学PHP
PHP语法结构
短标记:<? //PHP代码; ?>
ASP标记:<% //PHP代码; %>
脚本标记:<script language=‘PHP’>PHP代码;</script>
基本标记: <?php //PHP代码; ?>
纯PHP脚本文件建议使用不闭合基本标记:<?php //PHP代码
注释
行注释:#、//
块注释:*/
PHP变量设置
定义:$+变量名 = 值;
使用:$+变量名;
命名规则
由字母、数字和下划线组成,不能以数字开头
变量前面必须使用“$”符号
可以使用中文作为变量名(不建议)
PS:命名规则和C语言非常相似
预定义变量
系统定义的变量,都是数组,用户可以直接使用
$_SERVER
$_GET
$_POST
$_REQUEST
$_FILE
$_SESSION
$_COOKIE
$_ENV
$GLOBALS
可变变量
一个变量的值刚好是另外一个变量的名字,可以通过当前变量前面加上一个“$”符号访问
$a = ‘b’;
$b = ‘c’;
Echo $$a; //输出c:$ + $a = $ + b = $b
变量传值
将一个变量赋值给另外一个变量:$a = $b;
值传递:$a = $b,将b变量的值复制一份给a变量,结果拥有两个变量,两个不同的值,彼此的修改互不影响
引用传递:$a = &$b,将b变量的值所在的内存地址复制给a变量,a与b变量同时指向一块内存空间,共同拥有一个值,任何一个修改都会影响到彼此
常量
1、 定义
define()函数:define(‘常量名’,常量值)
const关键字:const 常量名 = 常量值
2、 访问
直接使用常量名
使用constant函数:constant(‘常量名’)
系统常量
系统内部定义的常量,用户可以直接访问
普通系统常量:PHP_VERSION、PHP_INT_SIZE、PHP_INT_MAX等
魔术常量:__DIR__、__FILE__、__LINE__、__FUNCTION__、__CLASS__等
PHP数据分类:三大类八小类
1、 简单数据类型(标量数据类型)
整型:int/integer
浮点型:float/double
布尔型:bool/Boolean
字符串型:string
2、 复合数据类型
数组:array
对象:object
3、 特殊数据类型
资源:resource
空:NULL
文件包含四种形式
四种形式
Include/include_once/require/require_once
基本语法
Include ‘文件名’;
Include(‘文件名’);
文件加载原理
简单理解,就是将被加载文件的源代码放到加载文件所对应的代码处。但是文件的加载本质上是单独编译的,所以如果被包含文件本身有错误,那么不会在主文件编译的时候报错,而是需要等到主文件执行到加载文件的代码处的时候才会报错。
向上包含
即主文件先包含文件,然后使用被包含文件中的内容
向下包含
即主文件先准备好内容,然后包含被包含文件,然后可以在被包含文件中使用主文件中的内容
不同包含文件的区别
Include/require
Include和require都可以包含文件,区别在于两者在包含文件时,如果被包含文件不存在时报错不同
Include:警告文件找不到(代码继续执行)
Require:致命错误文件找不到(代码中断执行)
Include/include_once
Include和include_once都可以包含文件,区别在于include包含文件是不限次数的,碰到include系统就会执行一次;而include_once会记录文件包含,对同一个文件不管有多少个include_once都只包含一次
文件包含路径
绝对路径
磁盘绝对路径:盘符:/路径/文件名(Linux下没有盘符概念,直接使用/)
网络绝对路径/:主机名/路径/文件名
相对路径
./:当前文件所在文件夹
../:当前文件所在文件夹的上层文件夹
文件嵌套包含
基本概念
在一个文件中对另外一个文件进行包含,而被包含的文件同时也有文件的包含
注意事项
因为在文件系统中,每个文件夹下都有两个对应的隐藏文件夹.和..,分别代表当前文件夹和上级文件夹,而使用./或者../相对路径进行文件包含的时候,系统会从当前文件所执行的目录开始计算,而不是文件所在文件夹本身。这样就会导致嵌套包含的时候,出现找不到文件的问题。
解决方案:尽量使用绝对路径进行文件包含,可以避免嵌套包含问题
定义语法
定义
Function 函数名(形式参数列表){
//函数体
//返回值
}
命名规范
由字母、数字和下划线组成,但是不能以数字开头
PHP中函数名不区分大小写
PHP中函数名不允许重名
多单词函数名通常使用以下方式命名:
驼峰法:从第二个单词开始首字母大写(showName())
下划线法:使用下划线连接单词(show_name())
匿名函数
概念
没有函数名字的函数叫做匿名函数。
语法
1、 简单匿名函数
定义:$变量名 = Function(){//函数体}
访问:$变量名();
2、 闭包(closure)使用:让函数内部局部变量不会因为函数执行而释放
Function out(){
//局部变量
$inner = function() use(局部变量){//函数体}
return $inner;
}
$in = out(); //执行完这一行out函数释放资源,但是局部变量因为被闭包引用不会释放
$in();
伪类型
概念
在PHP中本身不存在的数据类型,但是用来泛指PHP中的某些数据类型,主要为了方便查看操作手册。
种类
1、 number:数值类型,泛指整型和浮点型
2、 mixed:泛指所有数据类型