首页 > 编程语言 >PHP 基础知识

PHP 基础知识

时间:2023-06-26 23:46:43浏览次数:37  
标签:下标 变量 基础知识 数组 字符串 PHP 函数

目录

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)

脚本标记:<script language=”php”>php代码</script>

标准标记(常用):<?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(;;){

标签:下标,变量,基础知识,数组,字符串,PHP,函数
From: https://www.cnblogs.com/sun-yanglu/p/17507462.html

相关文章

  • Python全栈学习 day08 基础知识补充与总结
    day08总结和考试课程目标:对第一模块“Python基础”阶段的知识点进行总结和考试,让学员更好的掌握此模块的相关知识。课程概要:代码规范知识补充阶段总结(思维导图)考试题1.代码规范程序员写代码是有规范的,不只是实现功能而已。1.1名称在Python开发过程中会创建文件夹......
  • 【web开发】PHP其他常用字符串格式及常用加密函数
    前言前两篇文章中我们介绍了日常开发中常用到的字符串格式化函数,本文接着带大家继续了解PHP其他字符串格式化函数及加密函数,字符串的格式化处理函数还有很多,只要是想得到所需要格式化的字符串,都可以调用PHP中的提供的系统内置函数处理即可,很少需要自己定义字符的格式化处理函......
  • PHP 常量的说明和使用
    常量类似变量,但是常量一旦被定义就无法更改或撤销定义。PHP常量常量是单个值的标识符(名称)。在脚本中无法改变该值。有效的常量名以字符或下划线开头(常量名称前面没有$符号)。注释:与变量不同,常量贯穿整个脚本是自动全局的。设置PHP常量如需设置常量,请使用define()函数-它使......
  • 第四章 PHP创建与解析XML
    demo1.php<?php $_a=5; //单引号 $_string1='Thisis$_aaString!'; //双引号 $_string2="Thisis$_aaString!";// echo$_string1;// echo$_string2; //复杂式,多行,特殊字符,单引号,双引号,变量。 //<<<<aaaa表示字符串开始aaaa;不是字符串的结束 $_str......
  • PHP 多行字符串的赋值方法
    <?php//PHP多行字符串的赋值方法//<<<string里面的string是可以随机其他的标记 $article=<<<string<!DOCTYPEhtml><htmllang="zh-cn"><head><metacharset="UTF-8"><metaname="viewport"content=&......
  • PHP 堆 栈 数据段 代码段 存储的理解
    代码段、数据段、堆栈段,这是一个概念堆、栈、全局区、常量区,这是另一个概念函数代码存放在代码段。声明的类如果从未使用,则在编译时,会优化掉,其成员函数不占代码段空间。栈:基本数据类型局部变量(这两种甚至可以直接认为一块空间叫a,里面存着8)类的引用(指向堆空间段)堆:new出来的......
  • PHP 去除前后空格
    <metacharset="UTF-8"><?php$str="阅谁问群诵,水落清香浮。";echo"方括号中为原始字符串:[$str]\n";$str1=ltrim($str);echo"执行ltrim()之后的字符串:[$str1]\n";$str2=rtrim($str);echo"执行rtrim()之后的字符串:[$str2]\n"......
  • [WP] 攻防世界 CSFJ0234 PHP2
    「场景」http://61.147.171.105:54099/「过程」创建场景后,点击得到的URL,在F12开发者工具中收集信息。服务器:Apache语言:PHP直接上御剑扫描发现/index.php总所周知,phps即PHPSource,是php的源代码文件。通常用于提供给用户(访问者)查看php代码,因为用户无法直接通过Web浏览......
  • PHP 获取url的一级域名的方法
    <?phpfunctionregular_domain($domain){ if(substr($domain,0,7)=='http://'){ $domain=substr($domain,7); } if(strpos($domain,'/')!==false){ $domain=substr($domain,0,strpos($domain,'/'......
  • Zend Studio 10.6.2 修改新建php文件时的默认模板
    Window-->preferences-->PHP-->CodeStyle-->CodeTemplates-->Simplephpfile ,点击edit。修改成你想要的结果,然后点击OK保存。 ......