欧易

欧易(OKX)

国内用户最喜爱的合约交易所

火币

火币(HTX )

全球知名的比特币交易所

币安

币安(Binance)

全球用户最多的交易所

php基础知识笔记

时间:2022-11-03 07:10:18 | 浏览:8543

PHP 基础知识笔记主要参考:https://www.runoob.com/php/php-intro.html 菜鸟教程https://www.w3school.com.cn/ W3school1、php定义PHP(全称:PHP:Hype

PHP 基础知识笔记

主要参考:


https://www.runoob.com/php/php-intro.html
菜鸟教程

https://www.w3school.com.cn/ W3school


1、php定义

PHP(全称:PHP:Hypertext Preprocessor,即"PHP:超文本预处理器")是一种通用开源脚本语言。

注意:php不是拍黄片,不是编程语言,它是一门弱类型的脚本语言。


2、php能做什么?

A、PHP 可以生成动态页面内容

B、PHP 可以创建、打开、读取、写入、关闭服务器上的文件

C、PHP 可以收集表单数据

D、PHP 可以发送和接收 cookies

E、PHP 可以添加、删除、修改您的数据库中的数据

F、PHP 可以限制用户访问您的网站上的一些页面

G、PHP 可以加密数据


3、安装 - 集成环境与编辑器

推荐phpstudy + phpstorm

Phpstudy:
https://jingyan.baidu.com/article/335530dafae53519ca41c37a.html
百度经验

Phpstorm:
https://www.jetbrains.com/
官网下载


编辑器也有大神喜欢用sublime Text 或者 notepad 甚至记事本的。。。

Sublime Text :
https://www.sublimetext.com/
sublime 官网

Notepad:
https://notepad-plus-plus.org/
notepad 官网


其它的集成环境,例如phpenv。

phpenv:https://www.phpenv.cn/


php内置Web服务器:

参考文档:
https://blog.csdn.net/ltx06/article/details/78933441

命令:php -S localhost:8000

在laravel框架中的内置服务器:php artisan serve

注意:php5.4及以上的内置服务器不应该用于生产环境,但对于本地开发来说是个极好的工具。它不需要apache或nginx代理就能预览php应用。

4、语法与变量

PHP 脚本在服务器上执行,然后将纯 HTML 结果发送回浏览器。

PHP 脚本可以放在文档中的任何位置。

PHP 脚本以 <?php 开始,以 ?> 结束。

PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。

通过 PHP,有两种在浏览器输出文本的基础指令:echo 和 print。

注意:echo - 可以输出一个或多个字符串

print - 只允许输出一个字符串,返回值总为 1

EOF - PHP 定界符 EOF 的作用就是按照原样,包括换行格式什么的,输出在其内部的东西。且可以识别变量。


变量是用于存储信息的"容器"。

变量规则:

A、变量以 $ 符号开始,后面跟着变量的名称

B、变量名必须以字母或者下划线字符开始

C、变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )

D、变量名不能包含空格

E、变量名是区分大小写的($y 和 $Y 是两个不同的变量)

PHP是一门弱类型语言,因此不必声明变量的数据类型。PHP 会根据变量的值,自动把变量转换为正确的数据类型。在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。


PHP变量的作用域:local (局部);global (全局);static (静态);parameter (参数)

超级全局变量:PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用。它也是全局变量的一种。


超级全局变量主要有:

$GLOBALS

$_SERVER

保存关于报头、路径和脚本位置的信息

$_REQUEST

用于收集 HTML 表单提交的数据。可以理解$_POST和$_GET 是它的子集。

$_POST

被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="post"。

注意:默认情况下,POST 方法的发送信息的量最大值为 8 MB(可通过设置 php.ini 文件中的 post_max_size 进行更改)。

$_GET

被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="get"。所有的变量名和值都会显示在 URL 中。

注意:HTTP GET 方法不适合大型的变量值。它的值是不能超过 2000 个字符的。

$_FILES

$_ENV

$_COOKIE

$_SESSION


5、数据类型

基本类型:

String(字符串)

Integer(整型)

有二进制、八进制、十进制、十六进制等几种方法来表示整数,前面可以正号(+)负号(-)

Float(浮点型),也称作double

Float、Double、Real都是浮点型

Boolean(布尔型)

布尔类型只有两个值,常量 TRUE 或 FALSE。两个都不区分大小写。

Array(数组)

PHP里的数组,相当于其它语言里的数组、列表、字典、集合、栈、队列。

数组有一维数组,二维数组,多维数组。

Object(对象)

有实例化的类都是对象。is_object可以判断一个变量是否是Object 对象,也可以用 (object)来强制转成对象。

NULL(空值)

Callable / Callback(可调用)(回调类型)

Resource(资源类型)

资源 resource 是一种特殊变量,保存了到外部资源的一个引用,比如打开文件、连接数据库、请求网络等。


伪类型:

mixed(混合类型)

mixed 说明一个参数可以接受多种不同的(但不一定是所有的)类型。

number(数字类型)

number 说明一个参数可以是 integer 或者 float

callback(回调类型,又称为 callable)

array|object(数组 | 对象类型)

void (无类型)


PHP 7的新特性: 标量类型与返回值类型声明

PHP类型的比较:

松散比较:使用两个等号 == 比较,只比较值,不比较类型。

严格比较:用三个等号 === 比较,除了比较值,也比较类型。


6、常量

常量是单个值的标识符(名称)。在脚本中无法改变该值。

有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。

注释:与变量不同,常量贯穿整个脚本是自动全局的。


设置常量使用函数 define(), 首个参数定义常量的名称,第二个参数定义常量的值,可选的第三个参数规定常量名是否对大小写不敏感。默认是 false。


魔术常量:

PHP 向它运行的任何脚本提供了大量的预定义常量。

不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。

有八个魔术常量它们的值随着它们在代码中的位置改变而改变:

__LINE__ 文件中的当前行号。

__FILE__ 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。

__DIR__ 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。

__FUNCTION__自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)

__CLASS__ 自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)

__TRAIT__

__METHOD__ 返回该方法被定义时的名字(区分大小写)。

__NAMESPACE__ 当前命名空间的名称(区分大小写)

Php 7新特性:常量数组 define() 可以代替const 直接定义常量数组。

例如:define(‘sites’,[‘web’ , ’name’ , ‘php’]);

7、运算符

A、算数运算符

B、赋值运算符

C、字符串运算符

D、递增/递减运算符

E、比较运算符

F、逻辑运算符

G、数组运算符

Php 7 新特性:NULL合并运算符

PHP 7 新增加的 NULL 合并运算符(??)是用于执行isset()检测的三元运算的快捷方式。

NULL 合并运算符会判断变量是否存在且值不为NULL,如果是,它就会返回自身的值,否则返回它的第二个操作数。

例如:$site = isset($_GET["site"]) ? $_GET["site"] : "PHP开发";

上述代码就可以改写为:$site = $_GET["site"] ?? "PHP开发";


8、条件语句

if 语句 - 在条件成立时执行代码

if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码

if...elseif....else 语句 - 在若干条件之一成立时执行一个代码块

switch 语句 - 在若干条件之一成立时执行一个代码块


9、循环语句

while - 只要指定条件为真,则循环代码块

do...while - 先执行一次代码块,然后只要指定条件为真则重复循环

for - 循环代码块指定次数

foreach - 遍历数组中的每个元素并循环代码块


10、函数及常用函数

参考:
https://blog.csdn.net/alashan007/article/details/78216498

数学函数

l abs 求绝对值

l ceil 进一法取整

l floor 舍去法取整

l fmod 浮点数取余

l pow($a, $n) 返回$a的$n次方

l round 浮点数四舍五入

l sqrt 求平方根

l max 求最大值

l min 求最小值

l Rand($min,$max) 随机数

l Mt_rand($min,$max) 更好的随机数

l Pi 获取圆周率的值


字符串操作

l Trim 删除字符串两端的空格或其他预定义字符

l Str_pad($str,$len,$v) 把字符串$str用$v 填充到指定长度$len

l Str_repeat($str,$len) 重复$len次使用指定字符串$str

l Str_split($str) 把字符串分割到数组中

l Strrev() 字符串反转

l Str_shuffle 随机地打乱字符串中的所有字符

l Strtolower 字符串转为小写

l Strtoupper 字符串转为大写

l Ucfirst 字符串首字母大写

l Ucwords 字符串每个单子首字符转为大写

l Chunk_split 将字符串分成小块

l Strtok($str,$token) 切开字符串$str


l Explode()

调用: array explode(str $sep,str $str[,int $limit])

输入: $sep为分割符,$str目标字符串,$limit返回数组最多包含元素数 输出: 字符串被分割后形成的数组


l Implode()

调用: string implode ( string $glue , array $pieces )

$glue默认, 用""则直接相连


l Substr($str, $start, $len) 截取字符串

l Str_replace() 字符串替换操作,区分大小写

调用mix str_replace(mix $search,mix $replace, mix $subject[,int &$num])

输入: $search查找的字符串,$replace替换的字符串,$subject被查找字串, &$num 输出: 返回替换后的结果


l Str_ireplace() 字符串替换操作,不区分大小写

l Substr_count() 统计一个字符串,在另一个字符串中出现次数


l Substr_replace() 替换字符串中某串为另一个字符串

调用: mixed substr_replace ( mixed $string, string $replacement,int $start [, int $length ] )


l Similar_text($str1, $str2) 返回两字符串相同字符的数量

l Strrchr() 返回一个字符串在另一个字符串中最后一次出现位置开始到末尾的字符串

l Strstr() 返回一个字符串在另一个字符串中开始位置到结束的字符串

l Strtr() 转换字符串中的某些字符

l Strpos() 寻找字符串中某字符最先出现的位置

l Strrpos() 寻找某字符串中某字符最后出现的位置

l Str_word_count() 统计字符串含有的单词数

l Strlen($str) 统计字符串长度

l Md5() 字符串md5编码

l Strcasecmp() 不区分大小写比较两字符串

l Strcmp() 区分大小写比较两字符串


html标签关联

l Htmlentities() 把字符串转为html实体

l Htmlspecialchars() 预定义字符转html编码

l nl2br() 转义为<br>标签

l Strip_tags() 剥去HTML、XML以及PHP的标签

l Addcslashes() 在指定的字符前添加反斜线转义字符串中字符 -- addslashes

l Stripcslashes() 删除由addcslashes() 添加的反斜线 -- stripslashes

l Chr() 从指定的 ASCII 值返回字符

l Ord() 返回字符串第一个字符的ASCII值


时间函数

l time(): 返回当前的 Unix 时间戳

调用: int time ( void ) 输出: 返回自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数

l Mktime() 取得一个日期的 Unix 时间戳

l checkdate(): 验证一个格里高里日期

l date_default_timezone_set(): 设定用于一个脚本中所有日期时间函数的默认时区

l getdate(): 取得日期/时间信息

l strtotime(): 将任何英文文本的日期时间描述解析为 Unix 时间戳

l microtime(): 返回当前 Unix 时间戳和微秒数


其它常用函数

l intval(): 获取变量的整数值

11、数组、常用数组函数及数组排序

l Array() 生成一个数组

l Array_combine($a,$a2) 生成一个数组,用一个数组$a的值 作为键名,另一个数组$a2值作为值

l Range() 创建并返回一个包含指定范围的元素的数组

l Compact() 创建一个由参数所带变量组成的数组

l Array_fill($start_index, $len, $value) 用给定的填充(值生成)数组

l Array_chunk($arr, $num) 把一个数组分割为新的数组块

l Array_merge() 把两个或多个数组合并为一个数组

l Array_slice($arr, $offset, $len) 在数组中根据条件取出一段值并返回。

l Array_diff() 返回两个数组的差集数组

l Array_intersect() 返回两个或多个数组的交集数组

l Array_search($v, $arr) 数组中查找一个值,返回一个键,没有返回返回假

l Array_splice($a1, $offset, $len, $a2) 把数组中一部分删除用其他值替代

l Array_sum() 返回数组中所有值的总和

l In_array($v, $arr) 在数组中搜索给定的值,区分大小写

l Array_key_exists() 判断某个数组中是否存在指定的 key

l key(): 返回数组内部指针当前指向元素的键名

l current(): 返回数组中的当前元素(单元).

l next(): 把指向当前元素的指针移动到下一个元素的位置,并返回当前元素的值

l prev(): 把指向当前元素的指针移动到上一个元素的位置,并返回当前元素的值

l end(): 将数组内部指针指向最后一个元素,并返回该元素的值(如果成功)

l reset(): 把数组的内部指针指向第一个元素,并返回这个元素的值

l list(): 用数组中的元素为一组变量赋值

l array_shift(): 删除数组中的第一个元素,并返回被删除元素的值

l array_unshift(): 在数组开头插入一个或多个元素

l array_push(): 向数组最后压入一个或多个元素

l array_pop(): 取得(删除)数组中的最后一个元素

l shuffle(): 将数组打乱,保留键名

l count(): 计算数组中的单元数目或对象中的属性个数

l array_flip(): 返回一个键值反转后的数组

l array_keys(): 返回数组所有的键,组成一个数组

l array_values(): 返回数组中所有值,组成一个数组

l array_reverse(): 返回一个元素顺序相反的数组 元素顺序相反的一个数组,键名和键值依然匹配

l array_count_values(): 统计数组中所有的值出现的次数

l array_rand(): 从数组中随机抽取一个或多个元素,注意是键名!!!

l array_unique(): 删除重复值,返回剩余数组

l sort(): 按升序对给定数组的值排序,不保留键名

l rsort(): 对数组逆向排序,不保留键名

l asort(): 对数组排序,保持索引关系

l arsort(): 对数组逆向排序,保持索引关

l ksort(): 系按键名对数组排序

l krsort(): 将数组按照键逆向排序

l natsort(): 用自然顺序算法对数组中的元素排序

l natcasesort(): 自然排序,不区分大小写

l array_column() 返回输入数组中某个单一列的值。


12、命名空间

参考:
https://www.runoob.com/php/php-namespace.html

13、面向对象

参考:
https://www.runoob.com/php/php-oop.html

相关资讯

PHP学习Thinkphp框架(1)——关于Thinkphp结构目录和数据库操作

Thinkphp:=> 简介:是由上海顶想公司开发的一款,PHP写成的,开源的MVC框架;官网:http://www.thinkphp.cn下载:https://github.com/top-think/framework 环境要求:

国产PHP框架ThinkPHP与SpeedPHP的浅析对比

本文主要简析两个国产的PHP框架ThinkPHP与SpeedPHP。通过学习发现,它俩在很多方面有着相似但又不同的地方:1.单一入口,二者都是单一入口文件。每个app都需要一个入口文件,且只能有一个入口文件。ThinkPHP生而就有多app

《PHP》什么是PHP框架,为什么要用PHP框架

PHP框架是什么?PHP框架提供了一个用以构建web应用的基本框架,从而简化了用PHP编写web应用程序的流程。这样不但节省开发时间,有助于建立更稳定的应用,而且减少了重复编码的开发。框架还可以帮助初学者建立更稳定的应用服务,这可以让你花更

「PHP发展史」PHP5.2到PHP5.6中新增的功能详解

截至目前(2014.2), PHP 的最新稳定版本是 PHP5.5, 但有差不多一半的用户仍在使用已经不在维护的 PHP5.2, 其余的一半用户在使用 PHP5.3。因为 PHP 那“集百家之长”的蛋疼语法,加上社区氛围不好,很多人对新版本

学习PHP开发技术难不难?零基础参加PHP培训能学好吗?

PHP开发运用十分广泛,众所周知,PHP编程语言与其他编程语言相比会简单很多,因此越来越多的人加入了PHP学习的队伍,但是对于软件技术方面,没有任何基础,很多人都害怕学不会,都存在这样的疑问:学习PHP开发技术难不难?零基础参加PHP培训能

php基础知识笔记

PHP 基础知识笔记主要参考:https://www.runoob.com/php/php-intro.html 菜鸟教程https://www.w3school.com.cn/ W3school1、php定义PHP(全称:PHP:Hype

PHP基础知识总结

导读PHP称为超文本预处理器,是一种通用开源脚本语言,其文件包含了文本、HTML、JavaScript、PHP代码,PHP代码在服务器上运行,再以HTML方式传回浏览器。能够嵌入到 HTML中,做动态网站的开发。PHP基础知识PHP 文件的

PHP开发者的福音,解读PHP异步通信框架Swoole的机制

在中国互联网行业膨胀的12-16年,PHP语言凭借自身易上手,开发周期短的优势,深受各中小企业的喜爱。小编也很荣幸在2009年底进入这一行业,为自己谋生分得一杯羹。但是PHP又先天有它的局限性,导致客户很多需求无法得到满足。大家都知道,P

ZWebPHP基于API的简易PHP开发框架

ZWebPHP 框架设计目的:标准化、体验统一、简单可靠、易于扩展后端PHP框架基于PHP、smarty 构建。基于composer自动加载。完全基于API接口设计,API文档自动生成。权限包含菜单访问权限和API接口访问权限。工具类、数据

PHP组件及框架推荐系列:PHP世界中最好的日志组件——Monolog

这也许,不,就是PHP世界中最好的日志组件—— Monolog所有的 PHPer,请站在巨人的肩膀上。随着 Composer 的普及,PHP 组件化开发思想越来越深入人心,我们没有必要重新自己打造轮子,只要确定需求和目标,设计好软件的架构,

「php框架教程」给PHP初学的你10个最常用的函数

PHP的功能越来越强大,里面有着非常丰富的内置函数。资深的PHP程序员对它们可能都很熟悉,但很多的PHP学习者,仍然对一些非常有用的函数不太熟悉。这篇文章里,我们就列举10个你或许不了解但实用的PHP函数,供大家参考和学习。1. php_c

纯PHP开发的高性能PHPsocket服务器框架

Workerman是一款纯PHP开发的开源高性能的PHP socket 服务器框架。被广泛的用于手机app、移动通讯,微信小程序,手游服务端、网络游戏、PHP聊天室、硬件通讯、智能家居、车联网、物联网等领域的开发。 支持TCP长连接,支持W

PHP框架开发-如何拥有自己的PHP框架

框架是帮助初学者创建稳定的程序。使得你可以花更多的时间去创造真正的Web程序,而不是编写重复性的代码。框架第一阶段什么是框架?一直以来php框架被广泛利用,多半都是基本mvc架构模式的,国内外框架有HDPHP框架、ThinkPHP、CI框架

可持续更新的PHP框架---是时候有自己的PHP框架了

怎样搭建自己一个PHP框架?PHP写了5年,不想用其他框架,想自己搭建一套mvc oop的框架 可以用别人一些类库,但核心orm 之类希望自己写。这是最近遇到了别人的一个问题,5年时间的PHP资深程序是可以独立开发出自己框架。小编今天带来H

PHP应用中比较好的php框架

PHP的框架很多,有phalcon,kohana ,laravel,Yii,thinkPHP,ROR,HD,,CI,和ROR等,我觉得PHP框架其实本身就是一个工具而已,没有好与不好,只有合不合适。任何东西都没有最好,只是不同的取舍。有人说

友情链接

网址导航 SEO域名抢注宝宝起名网妈妈知道币圈香港太平山顶奔驰迈巴赫汽车网宠物医院大全网光伏发电资讯网酒楼资讯网今日忻州福布斯富豪榜广东旅游网面霜眼霜品牌网空调品牌网运动品牌大全瑞典旅游网天然野生灵芝网戴森吹风机评测网长隆欢乐世界资讯网
南宁午托网-托管中心加盟品牌、小学托管班加盟排行榜、午托班加盟排行榜、小区内家庭式托管班、晚托辅导班收费标准、晚托老师、午托机构、早教机构、托育加盟品牌、早教托育中心加盟、家庭式托育早教加盟、加盟幼儿园十大品牌、早教加盟全国十大品牌资讯网。
南宁午托网 libaile.cn ©2022-2028版权所有