您现在的位置是:首页 > 技术教程 正文

PHP 基础知识

admin 阅读: 2024-03-16
后台-插件-广告管理-内容页头部广告(手机)

目录

PHP基础 2

PHP代码标记 2

PHP注释 2

PHP语句分隔符 2

PHP变量 3

常量 3

数据类型 4

流程控制 6

文件 7

函数 9

闭包 11

常用系统函数 12

错误处理 13

错误显示设置 15

字符串类型 17

字符串相关函数 19

数组 21

遍历数组 22

数组的相关函数 25

PHP基础

PHP是一种运行在服务器端的脚本语言,可以嵌入到HTML中。

PHP代码标记

在PHP历史中,可以使用多种标记来区分PHP脚本。

ASP标记:<% php代码 %>

短标记:<? php代码 ?> 简短风格 SGML(标准通用标记语言)

以上两种基本弃用,如果想使用需要在配置文件中开启。(配置文件:php文件夹中的php.ini文件,搜索short_open_tag, asp_tags)

脚本标记:

标准标记(常用):<?php php代码 ?>

XML风格(可扩展标记语言)

PHP注释

行注释:一次注释一行

//:后面内容为注释

块注释:一次注释多行

/*:

中间内容全部都是注释

*/

PHP语句分隔符

PHP中,代码是以行为单位,一般以分号为行结束符。

特殊说明:

  1. PHP中标记结束符“?>”有自带语句结束符的效果,最后一行PHP可以没有语句结束符“;”。
  2. PHP中其实很多代码的书写并不是嵌入到HTML中,而是单独存在,通常书写习惯不建议使用标记结束符“?>”,PHP会自动从开始到最后全部认为是PHP代码,从而解析。

PHP变量

php是一种动态网站开发的脚本语言,动态语言特点是交互性,会有数据的传递,而PHP作为“中间人”,需要进行数据的传递,传递的前提就是PHP能自己存储数据(临时存储)。

定义变量:在PHP中不需要任何关键字定义变量(赋值);

PHP中所有变量都必须使用“$”符号。

PHP中允许使用中文变量(不建议)。

删除变量:使用unset(变量名)。

预定义变量

预定义变量:提前定义的变量,系统定义的变量,存储许多需要用到的数据(预定义变量都是数组)。

$_GET:获取所有表单以get方式提交的数据

$_POST: :以post方式提交的数据

$_REQUEST:GET和POST提交的都保存

$GLOBALS:PHP中所有的全局变量

$_SERVER:服务器信息

$_SESSION: session会话数据

$_COOKIE: cookie会话信息

$_ENV:环境信息

$_FILES:用户上传的文件信息

可变变量:

$a = ‘b’;

$b=’bb’;

echo $a;//b

echo $$a;//bb—找到$a,解析结果:b,将前面的$符号与结果b绑定,:$b,然后解析。

变量传值:

值传递:$新变量 = $旧变量

引用传递:$新变量 = &$旧变量

常量

特点:数据不允许修改

常量只可以保存布尔值、整型、浮点型或字符串数据。

定义:

  1. 使用定义常量的函数:define(‘常量名’,常量值);
  2. PHP5.3之后才有:const 常量名 = 值;

命名规则:

  1. 常量不需要使用“$”符号,一旦使用系统就会认为是变量。
  2. 常量的名字组成由字母、数字和下划线组成,不能以数字开头。
  3. 常量的名字通常是以大写字母为主。
  4. 常量的命名规则比变量要松散,可以使用一些特殊字符,但只能使用define定义。

使用(访问):

  1. 普通常量:直接使用。
  2. 特殊常量:constant(‘常量名’);

系统常量:系统帮助用户定义的常量,用户可以直接使用。

运行phpinfo()函数,可看到PHP预定义的许多常量。

常用的系统常量:

PHP_VERSION: PHP版本号。

PHP_INT_SIZE:整型大小。

PHP_INT_MAX:整型能表示的最大值(PHP中整形允许出现负数:带符号)。

系统魔术常量:双下划线开始+常量名+双下划线结束。魔术常量的值通常会跟着环境变化,但是用户改变不了。

__DIR__:当前被执行的脚本所在电脑的绝对路径

__FILE__:当前被执行的脚本所在电脑的绝对路径(带自己文件的名字)

__LINE__:当前所属的行数

__NAMESPACE__:当前所属的命名空间

__CLASS__:当前所属的类

__METHOD__:当前所属的方法

数据类型

数据类型(data type)指的是存储的数据本身的类型,而不是变量的类型,PHP是一种弱类型语言,变量本身没有数据类型。

PHP八大数据类型:

PHP中将数据分为三大类,八小类。

简单(基本)数据类型

整型(int/integer)

占4个字节

浮点型(float/double)

占8个字节

字符串(string)

根据实际长度分配

布尔类型(bool/boolean)

只有true和false两种取值

复合数据类型

对象类型(object)

存放对象(面向对象)

数组类型(array)

存储多个数据(一次)

特殊数据类型

资源类型(resource)

存放资源数据(PHP外部数据,如数据库、文件)

空类型(NULL)

值就是一个NULL,不能运算,对大小写不敏感。当被赋值为NULL,或者尚未被赋值,或者被unset(),变量都被认为为NULL

Callable类型

可以传递给其他函数的函数

类型转换:

当前数据类型—>目标数据类型

  1. 自动转换:系统根据需求自己判定。
  2. 强制(手动)转换:人为根据需要的目标类型转换。

强制转换规则:在变量之前加一个括号(),然后在里面写上目标数据类型。

NULL类型用到unset()

其他类型转布尔类型:true或者false。

其他类型转数值:

  1. 布尔true为1,false为0.
  2. 字符串转数值:
    1. 以字母开头的字符串,永远为0。
    2. 以数字开头的字符串,取到碰到字母为止,(不会同时包含两个小数点)。

类型判断:通过一组以is_类型名的函数来判断:is_XXX(变量名),返回结果为布尔类型(true/false)。Bool类型不能用echo来查看,可以使用var_dump结构查看。

var_dump(变量1,变量2,…)—会将数据类型和值同时打印。

empty():判断数据的值是否为“空”,不是NULL,为空则返回true。(判断变量的值)

isset():判断数据存储的变量本身是否存在,存在变量返回true。(判断变量是否存在)

获取和设定数据(变量)的类型:

gettype(变量名):获取类型,得到的是该类型对应的字符串。(不推荐使用来测试某种类型,推荐使用is_*函数代替)

settype(变量名,数据类型):设定数据类型,与强制转换不同。

  1. 强制类型转换,是对数据复制的内容进行处理,(不会处理实际存储的内容),数据原来是什么类型,转换后仍是什么类型。
  2. settype会直接改变数据本身。

进制转换函数:

decbin():十进制转二进制

decoct():十进制转八进制

dechex():十进制转十六进制

bindec():二进制转十进制

octdec():八进制转十进制

bin2hex():二进制转十六进制

连接运算符:是PHP中将多个字符串拼接的一种符号。

. :将两个字符串连接到一起。

.=:复合运算,将左边的内容与右边的内容连接起来,然后重新复制给左边变量。

错误抑制符:有一些错误提前可以预知,又无法避免,但又不希望给用户看,可以是用错误抑制符。

@:在可能出错的表达式前面使用@符号即可。

使用错误抑制符,如果已经在php.ini文件中启用了PHP的track_errors特性,错误信息将会保存在全局变量$php_errormsg中。

执行操作符:反向单引号。位于与~同样的位置。

PHP会试着将反向单引号之间的命令当做服务器命令行命令来执行。表达式的值就是命令的执行结果。

流程控制

流程控制:代码执行的方向。

控制分类:

顺序结构:代码从上到下,顺序执行。(代码执行的最基本结构)

分支结构:给定一条件,同时有多种可执行代码(块),然后根据条件执行某一段代码。

PHP中分支结构主要有两种:if分支和switch分支。

循环结构:在某个条件控制范围内,指定的代码(块)可以重复执行。

For循环,while循环、do-while循环,foreach循环(专门针对数组)。

循环控制:

中断控制:重新开始循环。

continue 层级 //默认为1

终止控制:循环直接进结束。

break 层级 // 默认为1

流程控制替代语法:

流程控制替代语法:分支和循环结构的替代语法。

PHP与HTML混搭。

在PHP中这些大括号不美观,所以PHP提供了一种替代机制。

for(;;){

标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索
排行榜