PHP 基础篇一

Posted xgzyg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 基础篇一相关的知识,希望对你有一定的参考价值。

1、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 ?... ] )

Ø 返回值:如果 $var 存在并且值不是 NULL 则返回 TRUE,否则返回 FALSE。

Ø 注意: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 基础篇一的主要内容,如果未能解决你的问题,请参考以下文章

python学习基础篇

php生成各种验证码

python之基础篇——模块与包

miniui后台无法接收到input传值

Python面试基础篇

JAVA格物致知基础篇:你所不知道的返回码