欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP 基础篇一

程序员文章站 2023-03-22 21:50:17
1、PHP简介与基础语法 Ø PHP是“PHP:Hypertext Preprocessor”的缩写,中文名:“超文本预处理器”,是一种嵌入到HTML中的服务器端的脚本语言。 Ø PHP主要适用于Web开发领域。 Ø PHP 可在不同的平台上运行(Windows、Linux、Unix、Mac OS ......

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超全局数组变量

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

 

如果有什么不正确的地方,也请指正!