为了账号安全,请及时绑定邮箱和手机立即绑定

基础总结(一)-PHP基础知识回顾

标签:
PHP

重点概括
【1】.数据类型
【2】.运算符
【3】.流程控制
【4】.自定义函数以及内部函数
【5】.正则表达式
【6】.文件及目录
【7】.会话控制技术
【8】.面向对象
【9】.网络协议

  • 一.PHP数据类型
    三大数据类型(标量,复合,特殊)
    在PHP中,一共支持八种原始数据类型:它们是4种标量类型,boolean(布尔型),integer(整型),float(浮点型)和string(字符串型);两种符合类型,array(数组)和object(对象);两种特殊类型,resource(资源)与空值(null)
    字符串的定义方式
    1.单引号
    要表达一个单引号自身,需在它的前面加个反斜线(\)来转义。要表达一个反斜线自身,则用两个反斜线(\)。其它任何方式的反斜线都会被当成反斜线本身:也就是说如果想使用其它转义序列例如 \r 或者 \n,并不代表任何特殊含义,就单纯是这两个字符本身。

    2.双引号
    用双引号定义的字符串最重要的特征是变量会被解析,详见变量解析。

    3.heredoc和newdoc
    heredoc 类似于双引号
    newdoc 类似于单引号
    两者都是用来处理大文本
    代码
    header("Content-type: text/html; charset=utf-8");
    $var = 'PHP变量';
    $vara = 'PHP变量555555';
    echo <<<'aaa'
    <div>
    PHP heredoc技术
    <br />
    $var
    $vara
    </div>
    aaa;

echo <<<zhangshan
<hr />
<div>
PHP heredoc技术
<br />
$var
</div>
zhangshan;

代码实现区别 变量加引号和不加引号。
数据类型

标量:
1.浮点类型
浮点类型不能用于比较计算的判断(原因 计算机计算基于二进制,有精度缺失)
例子:0.1+0.7==0.7999!=0.8
2.布尔类型(7种)
0,0.0,'',false,array(),NULL
3.数组类型
超全局数组
$GLOBALS,$_GET,$_POST,$_REQUEST,$_SESSION,$_COOKIE,$_SERVER,$_FILES,$_ENV

$_SERVER
1.记录请求的结果码
2.记录请求过来的必要信息(请求ip 来源地址 请求时间,请求方式,来源地址解析等)
3.记录服务器的配置信息(域名路径,环境配置信息,执行路径,执行文件路径等)
php引用变量
定义:
php引用变量:不同变量名指向同一地址。 符号&
本质:
多个变量共用一个内存空间。(memory_get_usage内存空间使用情况查看函数,xdebug_debug_zval查看变量的情况)
直接变量之间的赋值在赋值变量改变的时候将会开辟新的内存空间。(一般的变量赋值给另外一个变量,内存空间还是共用,但是在赋值变量改变的时候,PHP将会开辟新的内存空间保存不同的值)
注意:
unset其中一个引用变量不影响其他变量。
其中一个引用变量重新赋值,其他的变量值发生改变,其中一个变量如果是引用变量指向另外地址空间,则跳出和之前变量的共用空间,独立开辟新空间。
程序图解分析:
程序图解

data 值为array(b,c,c);

总结:多个变量之间共用空间通过&地址符赋值,单个变量通过unset变量取消引用或者通过地址符&重新赋值新地址,跳出和其他变量的共用空间。共用空间内的所有引用变量,其中一个变量改变其他变量值也会改变。

  • 二.运算符
    运算符优先级

@为屏蔽表达式发生全部错误信息运算符
图片描述

  • 三.流程控制
    PHP遍历数组的三种方式
    1.for
    2.foreach
    3.list while each
    图片描述

reset() reset — 将数组的内部指针指向第一个单元

PHP分支语句
1.If else:
图片描述

2.Switch case
图片描述

图片描述

Switch case 不同的值直接存放在索引数组里面 效率高于if分支。属于精确查询。代码如下
switch (n)
{
case label1:
如果 n=label1,此处代码将执行;
break;
case label2:
如果 n=label2,此处代码将执行;
break;
default:
如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
}

  • 四.自定义函数以及内部函数
    图片描述
    图片描述
    不能直接把全局变量直接用到局部。需要设置全局可以如下:
    图片描述
    静态变量
    图片描述
    图片描述
    图片描述
    解释:常作为递归的判断方式。

图片描述
图片描述
图片描述

图片描述
$a $b 互为引用

外部文件引入:

图片描述
图片描述
图片描述
图片描述
图片描述
图片描述
图片描述

图片描述
图片描述
综合考察函数
图片描述

图片描述

  • 五.正则表达式
    图片描述

图片描述
图片描述

图片描述
图片描述
图片描述

  • 六.文件及目录

图片描述
图片描述

图片描述
图片描述

图片描述
图片描述
图片描述
图片描述

图片描述
图片描述

图片描述
图片描述
图片描述
图片描述
文件前面追加字符串思路
图片描述
图片描述

图片描述

方法重写
图片描述
图片描述
图片描述
图片描述
图片描述
文章参考(https://www.cnblogs.com/giantpanda/archive/2012/11/07/2759458.html
构造函数
构造函数可以接受参数,能够在创建对象时赋值给对象属性
构造函数可以调用类方法或其他函数
构造函数可以调用其他类的构造函数
析构函数
析构函数是在销毁对象时,自动调用,不能显示的调用。
析构函数不能带参数。
在以下几种情况下可能会调用析构函数(但不一定):

PHP页面加载完毕之后;
unset()类;
变量引用指向别的对象或值时;
PHP的内存回收机制和JAVA的很类似,对没有任何引用的对象进行销毁回收,采用引用计数器的技术。
// 构造函数
function __construct([argument1,argument2,...,argumentN]){
/ Class initialization code /
}

// 析构函数
function __destruct(){
// ...
}

  • 九.网络协议
    图片描述

图片描述
图片描述
图片描述
图片描述
图片描述
图片描述
图片描述
图片描述
图片描述
图片描述
图片描述
图片描述
图片描述
图片描述
图片描述
图片描述
图片描述

图片描述

点击查看更多内容
2人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
PHP开发工程师
手记
粉丝
104
获赞与收藏
364

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消