PHP第三章到第七章
第三章 PHP基础语法
了解PHP作者
:::tip
PHP之父:拉斯马斯·勒德尔夫 在1994创建PHP,刚刚开始只是一个简单的用Perl语言编写的程序,用来统计他自己网站的访问者。后来又用C语言重新编写,包括可以访问数据库。在1995年以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档,并且发布了PHP1.0。
:::
PHP历史版本
1.0 1995-06-08 – 首次使用
2.0 1997-11-01 – PHP首个发行版
3.0 1998-06-06 2000-10-20 Zeev Suraski和Andi Gutmans重写了底
4.0 2000-05-22 2001-06-23 增加了Zend引擎
5.0 2004-07-13 2005-09-05 ZendⅡ引擎
- 5.1 2005-11-24 2006-08-24 引入了编译器来提高性能、增加了PDO作为访问数据库的接口
- 5.2 2006-11-02 2011-01-06 默认启用过滤器扩展
- 5.3 2009-06-30 2014-08-14 支持命名空间;使用XMLReader和XMLWriter增强XML支持;支持SOAP ,延迟静态绑定,跳转标签(有限的goto), 闭包,Native PHP archives。
- 5.4 2012-03-01 2015-09-03 支持Trait、简短数组表达式。移除了register_globals, safe_mode, allow_call_time_pass_reference, session_register(), session_unregister(), magic_quotes以及session_is_registered()。加入了内建的Web服务器。增强了性能,减小内存使用量。
- 5.5 2013-06-20 2016-07-10 支持generators,用于异常处理的finally ,将OpCache(基于 Zend Optimizer+)加入官方发布中。
- 5.6 2014-08-28 2018-12-31 常数标量表达式、可变参数函数、参数拆包、新的求幂运算符、函数和常量的use语句的扩展、新的phpdbg调试器作为SAPI模块,以及其他更小的改进
6.x 未发布 – 取消掉的、从未正式发布的PHP版本。
7.0 2015-12-03 2018-12-03 Zend Engine 3 (性能提升并在Windows上支持 64-bit 整数),统一的变量语法, 基于抽象语法树编译过程。
- 7.1 2016-12-01 2019-12-01 void返回值类型,类常量,可见性修饰符
- 7.2 2017-11-30 2020-11-30 对象参数和返回类型提示、抽象方法重写等
- 7.3 2018-12-06 2021-12-06 PCRE2支持等
- 7.4 2019-11-28 2022-11-28 改进OpenSSL、弱引用等
8.0
JIT、数组负索引等
:::tip
截止2022年PHP已经诞生27周年啦,php版本和功能一直在更新发展,PHP 7.4每秒处理的请求数量是PHP 5.6的三倍,比PHP 7.0快约18%;PHP 8.0新特性JIT(即时)编译器,这可能为在Web服务器上进行机器学习,3D渲染和数据分析打开大门,未来无限想象…最后最重要的一点是,根据w3c统计,PHP在网站的服务器端编程语言中所占的份额仍然接近79%,并且没有近一步下降,在这方面,社区可以以健康的自信心行事,无需回避与其他语言的比较。至于每年都会冒出诸如“ PHP有未来吗?”,“仍然值得学习PHP吗?”,“ PHP是否失去重要性?”甚至“ PHP即将消亡”之类的问题,我想再去争执已经没有意义,想学习就从现在开始吧!
:::10000
15
WEB领域开发语言排行榜
https://w3techs.com/【75%】
PHP入门
掌握标记风格
掌握注释
掌握在PHP脚本中输出内容【HTML CSS JS】
了解HTML嵌入PHP【混编】
PHP数据类型
:::warning
- PHP是弱类型语音
- 变量不需要声明就可以直接赋值,值得类型就是变量类型,声明变量不需要声明类型;
- 声明变量一定是$符号开头;
- 声明变量名称不能以数字开头,也不能是特殊符号开头,可以是_下划线;
- 变量区分大小写
- 变量声明后值得类型可以切换
:::
PHP数据类型(8)种
标量数据类型【是数据结构中最基本单元,只能储存一个数据】
- 整型
- 浮点型
- 布尔值
- 字符串
复合数据类型
- 数组
- 对象
特殊的数据类型
- NULL
- Resource
整型
- 正负数
- 最大值PHP_INT_MAX,最小值PHP_INT_MIN,字节数PHP_INT_SIZE
- 2进制(0b110011)
- 8进制(012307)不能超过7
- 16进制(0x09AF)不能超过F
浮点型
- 小数位
- 精度
- 科学计数法 // 3.14e8
- 不能直接比较
0.1+0.7 和 0.8 比较?
<?phperror_reporting(E_ALL);//设置报错级别$_port = 80;$_port ="80";$_port = true;$_port = [];echo PHP_INT_MAX;//PHP内置魔术常量
echo "<br>";
echo '系统位数:'.PHP_INT_SIZE;$a= 0.1+0.7;$b = 0.8;//if($a === $b){echo '相等';
}else{echo 'No相等';
}$age = 18;
//$age2 = 28;$username = '$age2<h1 style="color:red"></h1>';echo '单引号中有变量'.$username;$username = $age."2<h1 style=\"color:red\"></h1>".$age;echo '双引号中有变量'.$username;
字符串
- 单引号
- 双引号
- 转义字符
- 单引号双引号区别
- 字符串连接 .
- heredoc结构
<?php$age = 18;
$style = <<<ABC<style>body{font: 16px arial,'Microsoft Yahei','Hiragino Sans GB',sans-serif;}h1{margin: 0;color:#3a87ad;font-size: 26px;}.content{width: 45%;margin: 0 auto;}.content >div{margin-top: 200px;padding: 20px;background: #d9edf7; border-radius: 12px;}.content dl{color: #2d6a88;line-height: 40px;} .content div div {padding-bottom: 20px;text-align:center;}</style>
ABC;
$html =<<<YKH
<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="utf-8"><title>400 错误 - phpstudy</title><meta name="keywords" content=""><meta name="description" content=""><meta name="renderer" content="webkit"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"><meta name="apple-mobile-web-app-status-bar-style" content="black"> <meta name="apple-mobile-web-app-capable" content="yes"><meta name="format-detection" content="telephone=no"><meta HTTP-EQUIV="pragma" CONTENT="no-cache"> <meta HTTP-EQUIV="Cache-Control" CONTENT="no-store, must-revalidate"> <meta HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT"> <meta HTTP-EQUIV="expires" CONTENT="0">{$style}
</head>
<body><div class="content"><div><h1>{$age}HTTP 400 - Bad Request</h1><dl><dt>错误说明:因为错误的语法导致服务器无法理解请求信息。</dt><dt>原因1:客户端发起的请求不符合服务器对请求的某些限制,或者请求本身存在一定的错误。</dt><dd>解决办法:</dd><dd>链接中有特殊字符或者链接长度过长导致,请对应修改.</dd><dt>原因2:request header 或者 cookie 过大所引起</dt><dd>解决办法:</dd><dd>crtl+shift+delete 快捷键清除cookie.</dd></dl><div>使用手册,视频教程,BUG反馈,官网地址: <a href="https://www.xp.cn" target="_blank">www.xp.cn</a> </div></div></div>
</body>
</html>
YKH;
echo $html;
布尔值
- 特殊值的布尔值【0,0.0,“”,“0”,“0.0”,NULL,“null”】
数组,对象,NULL,Resource
伪类型【了解,看得到官网函数参数的类型要求即可】
- mixed
- number
- void
- callback
类型转换
自动转换【隐式转换】【逻辑判断时注意或者处理用户数据时注意】
原则:保留更高的精度;
数值转换中遇到非数【0-9】字停止
- 转为布尔值
$int= 1;
$float= 12.12;
$str1 = "123";
$str2 = 1+"abc123";
$str4 = "123abc";
$bool = "0";//0 0.0 "" "0" "0.0" null,"null" 数组越界
1 +"abc123.88"
if($bool){//
}
强制转换
使用类型函数或者在变量前加括号或者settype
$a = "123hello";
//1
$a = (int)$a; //123
//2
$b = "123hello";
$b = intval($a); //123
//
$c = "123hello";
settype($c,"int"); //123
上周回顾
- 关于PHP变量下列说法正确的是:
- A:PHP变量不区分大小写
- B:PHP变量的名称不能是数字开头
- C:PHP变量声明时需要指明具体的数据类型
- D:PHP是弱类型语言,因此变量声明后其值类型不能被改变
- 关于PHP中字符串说法正确的是:
- A:PHP字符串可以使用单引号或者双引号,二者没有任何区别
- B:一般优先使用单引号声明字符串
- C:字符串中如果存在双引号,一定要使用转义字符\
- D:字符串中如果存在单引号,可以不要使用转义字符\
$a = 1;$b = "0.68hello";
$c = $a + $b;//
echo $c;//? 1
var_dump($c);//? --------------------[1]-----------------------
$float = 0.0;
$A = (bool)$float;echo $A;//? var_dump($float);
var_dump($A);//?;------------------[intval() 2]----------------------------------[3]------------------------
$float = 0.0;
$A = settype($float,'bool');
echo $A;
var_dump($float);
var_dump($A);
-------------------------------------------//PHP中标量的数据类型有哪些?
运算规则试题
$a= 0;
$b= 0;
//比较运算符 逻辑运算符 赋值运算符
//短路运算
//$a = true;
//exp1||exp2||exp3 短路
if($a= 3>0 || $b= 3>0){//$a = true;$a++;$b++;
}
echo true;//1
echo false;//'空白'
echo $a,$b;//1 1/**************/$a=5;
//先返回5 再自增6
//先自增7 再返回7
//5+7
$b = ($a++) + (++$a);
则$b的值是___________。$c=5;
$d=6;
$e = ($c==6)&&($d=7);
则,$d的值是__6____
//与运算的短路运算//PHP
$f = 3||(4>3);
var_dump($f);//bool(true)//与JS的区别?
var a = 3||(4>1);
//a = 3
PHP错误级别
PHP程序流程控制
条件控制语句
二者都不考虑数值类型,相当于进行了 == 判断
- if…elseif…elseif…else
- switch
$is_handsome = true;//true
$three = false;
//建议不能超过3层嵌套
$is_handsome = 1;
if(){}elseif(){}elseif(){}elseif(){}else(){}
switch($is_handsome){case 3://code.....break;case '1'://code1break;case '2'://code2break;default://code3....
}$is_handsome = 3;
switch($is_handsome){case 1:case 2:case 3://code break;default://code3....
}
循环控制语句
不要出现死循环
while() ;//如果…就
do{}while();//不管…
for(;
PHP第三章到第七章相关推荐
- 【C++习题笔记】谭浩强C++程序设计(第三版)第七章
本文是谭浩强老师c++程序设计(第三版)第七章的习题总结,主要涉及结构体的内容. 1. 定义一个结构体变量(包括年.月.日),编写程序,要求输入年月日,程序能够计算并输出改日是本年中的第几天.注意闰年 ...
- SRPG游戏开发(三十)第七章 寻路与地图对象 - 八 优化地图(Optimize MapGraph)
返回总目录 第七章 寻路与地图对象(Pathfinding and Map Object) 这一章主要进行寻路与地图对象的部分工作. 第七章 寻路与地图对象(Pathfinding and Map O ...
- 概率论||期末考试复习手写笔记-第五六七章(知识点+例题)第五章 常用统计分布 第六章 参数估计 第七章 假设检验
第五章 常用统计分布 考点一:常用统计量 考点二:三大统计分布 考点三:抽样分布(单正态总体+双正态总体) 第六章 参数估计 考点一: 估计量的评价标准(无偏性+有效性+相合性) 考点二:点估计的常 ...
- 数据结构题及c语言版答案第七章,数据结构第七章习题答案
第七章 图 1.下面是一个图的邻接表结构,画出此图,并根据此存储结构和深度优先搜索算法写出从C开始的深度优先搜索序列. 0 A 1 3 ^ 1 B 3 5 ^ 2 C 3 0 ^ 3 D 4 ^ 4 ...
- 2021-11-18《MySQ必知必会》第四章到第七章整理
第四章--检索数据 1)检索单个列: select list from table1; 2)检索多个列: select list1,list2 from table1; 3)检索所有列: select ...
- 计算机网络安全教程(第三版)第七章简答题答案
第 7 章 恶意代码分析与防治 简述研究恶意代码的必要性. 答: 在 Internet 安全事件中,恶意代码造成的经济损失占有最大的比例.如今,恶意代码已成为信息战.网络战的重要手段.日益严重的恶意代 ...
- 代码随想录算法训练营第三十天| 第七章 回溯算法:332.重新安排行程,51.N皇后,37.解数独(python)
回溯算法总结 332.重新安排行程 讲解链接 class Solution:def __init__(self):self.res = []self.dict = defaultdict(list)d ...
- python第七章_Python第七章
第 7 章 用户输入和while循环 7.1 函数input()的工作原理 message = input("Tell me something, and I will repeat it ...
- python第七章_python 第七章 模块
模块 一个py文件就是一个模块 模块一共三种:1.python标准库 2.第三方模块 3.应用程序自定义模块 import:1.执行对应文件 2.引入变量名 if__name__="__ma ...
- 《微机原理第五版》期末知识总结(第五章---第七章)
微机原理与接口技术 本文承接上篇前四章的内容,对第五章到第七章做个期末总结,方便大家更好的掌握这门课的知识点.看到了这里说明你对这门课程还有很大的兴趣和执念,另外有配套的试题和PPT在我的主页可以翻阅 ...
最新文章
- ​70行Go代码打败C
- 【互动有奖】年薪百万的程序员是怎样的?
- python3爬虫(8)爬虫框架scrapy安装和使用
- 2018-2019-1 《信息安全系统设计基础》教学进程
- jQuery特效手风琴特效 手写手风琴网页特效
- Android 之 Window、WindowManager 与窗口管理
- Python+shelve读写二进制文件
- ggsci | ggplot2的颜色标度拓展包(1):科研配色风格
- 【可行】adb修改手机代理方式
- 制造业ERP项目设计摘录
- qq空间登录(采用cookie纪录+广度搜索BFS)
- 宏电GPRS DTU H7210调试报告(参数配置)
- 效率低?响应慢?报表工具痛点及其解决方案
- cdn刷新api_【第1868期】闲话 CDN
- windows10虚拟机下载
- Ryu环境搭建(Ubuntu20)
- 腾讯云tca认证含金量有多高?考取腾讯云TCA认证是否有专业需求?
- 有没有html做的平安夜页面或者圣诞节,送给同学的平安夜圣诞节祝福语
- CSDN 为什么无法上传付费资源?
- 心脏骤停患者数据统计系统
热门文章
- 5G核心网中与用户数据相关的NF功能体UDM、AUSF、PCF、UDR
- html音乐游戏,音乐游戏有哪些? 音乐游戏推荐
- 计算机组成原理笔记——DMA方式
- 彻底了解Cookie
- android 自定义圆点,Android自定义带圆点的半圆形进度条
- Android自定义view半圆形错误提示框和简单动画使用
- 加州大学洛杉矶计算机排名,加州大学洛杉矶分校计算机科学硕士排名第14(2020年TFE Times排名)...
- 数据库发展的三个阶段及特点
- 计算机应用程序无响应怎么回事啊,win10程序无响应怎么办?程序无响应的解决方法...
- 目标客户画像_目标客户和用户画像
- 【C++习题笔记】谭浩强C++程序设计(第三版)第七章