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
如果有什么不正确的地方,也请指正!
上一篇: 冬季如何防静电? 15个方法快速消除静电