PHP 基础篇一
Posted xgzyg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 基础篇一相关的知识,希望对你有一定的参考价值。
Ø PHP是“PHP:Hypertext Preprocessor”的缩写,中文名:“超文本预处理器”,是一种嵌入到html中的服务器端的脚本语言。
Ø PHP主要适用于Web开发领域。
Ø PHP 可在不同的平台上运行(Windows、Linux、Unix、Mac OS X 等)。
Ø PHP 与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS 等)。
Ø PHP 提供了广泛的数据库支持,支持所有的主流数据库。
Ø PHP语法吸收了C、Java、Perl的特点,入门门槛较低,易于学习。
Ø PHP主要特点:简单,高效,免费,丰富的函数库和可扩展库,多操作系统支持,多数据库支持
Ø PHP最大的二大特点:混编与开发效率高成本低。混编,如果放在以前, 那么只能说我们PHP了,在模板引擎没问世的时代,大喊一声。web开发还有谁?舍我其谁!!!不过远古时代已过,我们不能停止自己的脚步还老是向后看,而不踏着脚步继续向前,那么我们也是在灭亡的边缘徘徊!
1.1、PHP基本语法
Ø PHP脚本可以放在HTML文件的任何位置;
Ø PHP脚本以 “<?php”开始,以“?>” 结束,纯PHP代码文件,可以省略“?>”结束符。
Ø PHP文件的默认扩展名是 .php;
Ø PHP 文件中可以包含:普通文本、HTML、CSS、javascript代码和 PHP 代码;
Ø PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器;
Ø PHP语言是区分大小写的,但关键字和函数不分区大小写;
Ø PHP中每行代码结束,必须以英文下的分号(;)结束;
Ø 访问PHP文件名或路径上,都不能含有中文;
Ø 访问PHP文件,必须通过域名或IP地址才能访问。
1.2、PHP语句结束符
Ø PHP语句必须以英文下的分号(;)结束;
Ø PHP中的语法结构不需要结束符。如:for、while、do while、switch、foreach等。
Ø 单行PHP语句可以不写结束符。如:<?php echo "hello" ?>
Ø PHP代码的最后一行可以不写结束符(不推荐)。
1.3、PHP注释
Ø 单行注释:// 或 #
Ø 多行注释:/*注释内容*/
Ø 注意:多行注释不能相互嵌套,PHP注释同样不会在客户端显示。
2、PHP变量
2.1、变量基本语法
Ø 变量名称只能包含字母、数字、下划线。
Ø 变量名必须是以美元符号($)开始,但 不是变量名的一部分,说明其后跟一个变量而已。如:?name
Ø 变量名必须要有意义。
Ø PHP变量名是区分大小写的。
Ø PHP变量名开头可以是字母或下划线,但不能是数字。
Ø PHP中的关键字也可以作为变量名,但不推荐,例如:、?break、、?null
Ø PHP不需要事先声明变量,使用时直接赋值即可,例如:$age = 20
Ø PHP为弱数据类型语言,在定义变量时不需要指定变量类型,根据所赋的值确定变量类型。
Ø PHP变量的数据类型在程序运行过程中可以动态改变。
2.2、判断变量是否存在 isset()
Ø 描述:检测变量是否设置。
Ø 语法:bool isset ( mixed ?... ] )
Ø 注意:isset()只能用于变量,因为传递任何其它参数都将造成解析错误。
2.3、判断变量是否为空 empty()
Ø 描述:检查一个变量是否为空。
Ø 语法:bool empty ( mixed $var )
Ø 返回值:如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,“”、0、0.0、“0”、NULL、FALSE、array()、未赋值变量,则返回 TRUE。
Ø 注意:empty() 只检测变量,检测任何非变量的东西都将导致解析错误。
2.4、销毁变量 unset()
Ø 描述:释放(销毁)给定的变量。
Ø 语法:void unset ( mixed ?... ] )
Ø 提示:使用 unset() 销毁一个变量后,变量的值将变成NULL。使用 isset() 测试的结果为false。
Ø 注意:删除变量,只是删除变量名,并且断开到变量值之间的引用而已,而变量值还在,该变量值将变成垃圾,由系统自动进行回收处理。
PHP回收机制:脚本在运行完成后,系统会自动回收内存,这也是我们经常不关闭资源的所在点。
2.5、可变变量
Ø 描述:可变变量是指该变量的名称由另外一个变量的值来确定。换句话,一个变量的变量名又是一个变量的情况。
Ø 语法:$$var = $value
Ø 说明:可以给 赋值,也可以获取?var 的值。
Ø 注意:可变变量在双引号内输出的方法“${$var}”。
$a = ‘b‘; $b = ‘c‘; $c = 100; echo $$$a;//结果为100 解析:$a=$b,$$b = $c,$c=100
2.6、打印变量
Ø 描述:打印变量的相关信息;
Ø 语法:void var_dump ( mixed ?... ] )
Ø 说明:此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。若是数组将递归展开值,通过缩进显示其结构。
3、PHP超全局数组变量
3.1、超全局数组变量与局部变量和全局变量的区别
Ø 局部变量:在函数内部声明的变量,就是局部变量,当函数执行完毕,局部变量就消失了。局部变量,只能在函数内部使用。
Ø 全局变量:在函数外部声明的变量,就是全局变量。在 PHP 中,全局变量,在函数中不能使用,网页执行完毕,全局变量消失。
Ø 超全局数组变量:系统定义的变量,就是超全局变量。该变量可以在任何地方直接使用。
static静态变量:
Ø 静态变量是一个特殊的局部变量,他的特点是:静态变量的值不会在函数调用结束时被销毁,而是会一直保留。也就是说,当再次调用函数时,该变量(的值)还能继续使用。
3.2、$_SERVER常用参数
常用参数 | 含义 |
---|---|
REQUEST_URI | URL |
PHP_SELF | 正在执行脚本的文件名 |
SERVER_NAME | 当前运行脚本所在服务器主机的名称 |
HTTP_HOST | 正在浏览当前页面用户的主机名 |
REMOTE_ADDR | 正在浏览当前页面用户的 IP 地址 |
REQUEST_METHOD | 访问页面时的请求方法 |
SERVER_NAME | 当前脚本运行服务器的主机名 |
SERVER_ADDR | 当前脚本所在的服务器IP |
4、PHP变量的传值方式
4.1、值传递
Ø 值传递又称拷贝传值:就是将一个变量的“值”拷贝一份传给另一个变量。此时两个变量的值完全一样,但两个变量是相互独立的,没有任何联系,修改其中一个变量的值,另一个变量值不会改变。
Ø 在PHP中,字符串型、整型、浮点型、布尔型、NULL、数组,默认使用的是拷贝传值方式。
4.2、引用传递
Ø 引用传递,又称“传地址”,就是将一个变量的“数据地址”拷贝一份给另一个变量,两个变量指向同一个数据,改变其中一个变量的值,另一个变量的值也将改变。
Ø 在PHP中,对象和资源,默认使用的是引用传值方式。
Ø 如果想让“值传递”的变量,变成“引用传递”,只需要在引用的变量前加 & 符号即可
Ø 提示:对于海量数据,引用传递要比值传递速度快很多。
Ø 最重要就是当 unset 一个引用,只是断开了变量名和变量内容之间的绑定。这并不意味着变量内容被销毁了。
5、PHP常量
5.1、常量的概念
Ø 常量就是值永远不变的量,例如:圆周率、身份证号
Ø 常量一旦定义就无法更改或撤销定义,常量无法删除。
Ø 常量的值可以是:字符串型、整型、浮点型、布尔型、null、数组(PHP7新加);
Ø 常量的值不能是对象和资源;
注意:与变量不同,常量永远是全局的,在脚本任何地方都可以访问。
5.2、常量的命令规则
Ø 常量的命名规则与变量一样,只能包含字母、数字、下划线。
Ø 常量名前不带“$”符号。例如:DB_HOST、DB_USER、DB_PASS
Ø 常量名强烈建议全大写,与变量区分开来。
Ø 语法格式:bool define ( string ?value [, bool $flag = false ] )
Ø 参数说明:1.必填参数常量的名称,必填参数常量的值,可选填是否大小写敏感默认是大小写敏感!
5.3、判断常量是否定义
Ø 描述:检查某个名称的常量是否存在
Ø 语法:bool defined ( string $name )
Ø 返回值:如果该名称的常量已定义,返回 TRUE;未定义则返回 FALSE。
Ø 注意:defined()只能检查常量,不能检查变量或函数。
5.4、预定义常量
预定义常量名 | 含义 |
---|---|
PHP_VERSION | PHP版本号 |
PHP_OS | PHP运行平台 |
M_PI | 圆周率 |
TRUE | 是关键字,也是常量 |
FALSE | Ø 是关键字,也是常量 |
PHP_INT_MAX | 最大整数,即9223372036854775807(2^63-1) |
PHP_INT_MIN | 最小整数,即-9223372036854775808(-2^63) |
Ø PHP的预定义常量大约有900多个,记住点常用就OK了当然,如果你想全部记住也是没关系的(大神让我舔下好吗)
Ø获取系统中的所有预定义常量:print_r(get_defined_constants(true));
5.5、魔法常量
Ø所谓“魔术常量”就是这些常量的值,会根据所在的位置而发生改变,即:形式是常量,但值可变。
魔法常量名 | 含义 |
---|---|
DIR | 当前文件所在的目录 |
FILE | 当前文件绝对路径 |
LINE | 当前行号 |
FUNCTION | 当前函数名称 |
CLASS | 当前类名称 |
METHOD | 当前方法名称 |
NAMESPACE | 当前空间名称 |
6、PHP数据类型
6.1、数据类型分类
PHP变量本身没有类型,变量类型取决变量值的类型。
PHP有8种数据类型,分为三类:
Ø 标量数据类型(4个):整型(integer)、浮点型(float、double)、布尔型(boolean)、字符串型(string)
Ø 复合数据类型(2个):数组(array)、对象(object)
Ø 特殊数据类型(2个):资源(resource)、空值(NULL)
6.2、判断变量数据类型
函数 | 含义 |
---|---|
is_string() | 检测变量是否是字符串 |
is_bool() | 检测变量是不是布尔型 |
is_int() | 检测变量是不是整型 |
is_float() | 检测变量是不是浮点型 |
is_numeric() | 检测变量是否为数字或数字字符串,表单发送的都是字符串数据。 |
is_null() | 检测变量是否为 NULL |
is_array() | 检测变量是否是数组 |
is_object() | 检测变量是否是一个对象 |
is_resource() | 检测变量是否为资源类型 |
6.3、数据类型的知识点集合
1、整型的表达式
Ø 整型数据类型可以是正数,也可以是负数,负数在数字前面加上“-”符号来表示;
Ø 10进制表示:$a = 100
Ø 8进制表示(以0开头):$a = 0777
Ø 16进制表示(以0x开头):$a = 0xFF9900
Ø 2进制表示(以0b开头):$a = 11001100
Ø 在32位的操作系统中,整型的有效范围是-2147483648到+2147483647(2^31-1)。
Ø 在64位的操作系统中,整型的有效范围是-9223372036854775808到9223372036854775807(2^63-1)
Ø 超出范围,解析为false
2、浮点数的表达式
Ø 浮点数也就是我们所说的小数,在PHP中我们对数值进行了细分:整型与浮点型,像在javascript中就没有对数值进行细分,小数整数都是数值
Ø 在我们对浮点数进行比较时,不太精确,最好的做法就是把它转换成整数再去比较
3、单引号与双引号的区别
Ø 单引号只能输出变量的名,而不能输出变量的值,且单引号的转移字符只有:‘
Ø 双引号能解析变量,且所有转移字符都可以使用
Ø 还有个说法我也不知道对不对:单引号因为不需要解析变量,它的速度高于双引号,而且推荐在PHP程序中使用单引号!!!(不对请纠正)
//定义一个双引号长字符 注意:表示字符串的结束,必须放在行首,不能缩进,单独一行,特殊字符不需要转义!!! $str = <<<php //相当于双引号的作用 php; //定义一个单引号长字符 注意:跟在后面的标识符要用单引号括起来!!! $str = <<<‘php‘ //相当于单引号 php;
4、空型
Ø 特殊的 NULL 值表示一个变量没有值,NULL 类型唯一可能的值就是 NULL
Ø NULL 类型只有一个值,就是不区分大小写的常量 NULL
如果有什么不正确的地方,也请指正!
以上是关于PHP 基础篇一的主要内容,如果未能解决你的问题,请参考以下文章