• 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
没有结果
查看所有结果

PHP7 太空船、const 定数组、匿名函数和匿名类、字符串转换、函数调用类里面的方法、不同的名空间调用类、数组的赋值、函数的参数、多异常抛出、list 给数组赋值

Mr.Lee 由 Mr.Lee
2022年3月29日
在 PHP, PHP7
0
Swoole 安装、扩展源码、线程、进程、执行过程、常用事件、Http 服务器、WebSocket 服务器、Mysql 连接池、毫秒定时器、异步文件读取
0
分享
2
浏览

PHP5.4~PHP7的新特性

官方文档:http://php.net

在bing.com中搜索PHP new feature

PHP5.5

生成器

Yield:在for循环中使用,将循环里面的内容输出出来,不会终止代码继续执行

代码:

//在函数中使用return可以将值返回出来

// function aa(){

// return 11;

// }

//使用php5.4可以生成数据

function text(){

for($i=1;$i<5;$i++){

echo “当前的是第”.$i.”次循环”;

yield $i; //将循环里面的内容输出出来,不会终止代码继续执行

}

}

$i=text();

var_dump($i); //object(Generator)#1 (0) { }

echo “<br>”;

//通过循环将内容输出出来

foreach($i as $value){

echo $value.”<br>”;

}

Finally

将代码继续执行完毕,即使上面有报错的情况

代码:

//finally关键字的使用

try{

throw new Exception(“这里出现了异常”);

}catch(Exception $e){ //捕获出现的异常

var_dump($e);

//在处理异常的的时候再次出现异常

throw new Exception(“这里又出现了异常”);

}finally{

echo “这是finally执行的代码”;

}

echo “代码执行到这里”;

Foreach和list

代码:

<?php

//创建一个二维数组

$arr=[

[1,2],

[3,4],

[5,6]

];

//使用foreach将二维数组中的内容全部拿出来

foreach($arr as $value){

echo $value[0].”<br>”;

echo $value[1].”<br>”;

}

//使用foreach和list配合使用

foreach($arr as list($a,$b)){

echo $a.”<br>”;

echo $b.”<br>”;

}

Empty

可以在empty中存放表达式来做判断

代码:

<?php

//empty()函数的升级,empty()函数可以放任何合法的表达式

var_dump(empty(1+2)); //false

var_dump(empty(null)); //ture

var_dump(empty(”)); //ture

php中数组和字符串的简化使用方法

在php中使用

<?php

echo [1,2,3,4,5,6][3].”\r\n”;

echo “iamaboy”[1];

echo “this is a string”[-1];//下表使用负数的时候获取的是嘴一个往前数

echo “this is a string”[-2];

password_hash

用于给内容加密

代码:

<?php

//以往加密方式md5加密方式,相同的内容加密之后加密数据是一样的

//password_hash,不能反解密,并且每次加密的结果都不一样

//password_hash加密方式有好多种,推荐使用的是PASSWORD_BCRYPT

$num=123456;

//第一个参数是需要加密的内容,第二个参数是加密的方式

$pass=password_hash($num,PASSWORD_BCRYPT);

echo $pass;

//password_verify()验证加密的内容

$num2=123456;

$result=password_verify($num2,$pass);

var_dump($result);

const定义常量

不定参数otherParams

代码

<?php

//在php可以定义otherParams来确定多个实参

function text($a,$b,…$otherParams){

var_dump($a);

var_dump($b);

var_dump($otherParams);

}

text(1,2);

echo “<br>”;

text(1,2,3);

echo “<br>”;

text(1,2,3,4,5,6,7,8,9,10);

效果

php中求次方

写出一个数值的次方可以使用两个乘号加上多少次方的值

namespace命名空间

function形参的定义

代码

<?php

function text(string $username,int $age) : string

{

var_dump($username);

var_dump($age);

}

text(‘zhangsan’,”22″);

// text(22,”zhangsan”);

isset和三元运算符的简写

php7

太空船

当两个数字进行比较大于则返回1 等于返回0 小于返回-1

const定数组

数组里面的内容要求,必须是字符串或者数字类型

匿名函数和匿名类

<?php

//使用 define定义数组

define(‘NUMS’,[1,2]);

var_dump(NUMS);

//定义一个匿名函数,将这个匿名函数复制给变量

$func=function(){

echo “这是匿名函数”;

};

//调用匿名函数

$func();

//顶一个匿名类

$bb=new class{

public $name=”zhangsan”;

public function __construct(){

echo “这是匿名类”;

}

};

//调用类里面的内容

var_dump($bb->name);

字符串转换

小明=> 5c0f 660e

<?php

//转码必须加上\u unicode 必须加上{uniclde编码}

echo “\u{5c0f}”; //小

echo “\u{660e}”; //明

函数调用类里面的方法

$aa=55;

//使用use可以当成形参使用

$bb=function() use($aa)

{

echo $aa;

//可以直接拿到类里面的方法

$this->Hi();

};

// $bb();

//定义一个类

class Hello{

public function Hi(){

echo “hello~~”;

}

}

//使用函数调用类里面的方法

//先实例化类

$he=new Hello();

//在使用函数调用类里面的方法是不能在单独实例化函数

$bb->call($he);

不同的名空间调用类

数组的赋值

函数的参数(数组)

类里面的常量可以不是public公有的

多异常抛出

可以抓取多个异常类

<?php

class my extends Exception{};

class he extends Exception{};

class she extends Exception{};

try{

throw new my(“我的错误”);

throw new she(“我的错误”);

//可以在下面抓取异常的内容中设置任意一个异常

}catch(my | she | he $e){

var_dump($e);

}

通过list给数组的赋值

标签: const 定数组list 给数组赋值不同的名空间调用类函数的参数函数调用类里面的方法匿名函数和匿名类多异常抛出太空船字符串转换数组的赋值
上一篇文章

CI框架 安装、路由、模型、视图、控制器、实现用户CURD、跳转函数封装、分页插件、源码分析

下一篇文章

Socket 七层网络、Socket 服务器

下一篇文章
Swoole 安装、扩展源码、线程、进程、执行过程、常用事件、Http 服务器、WebSocket 服务器、Mysql 连接池、毫秒定时器、异步文件读取

Socket 七层网络、Socket 服务器

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Search

没有结果
查看所有结果

About Me

个人随笔

Winston Lee

Programmer

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Winston Lee

About Me

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Categories

  • AJAX
  • BootStrap
  • CodeIgniter
  • CSS
  • DedeCMS
  • GIT
  • HTML
  • Javascript
  • Jquery
  • Laravel
  • Laravel在线教育平台
  • Linux
  • Memcache
  • MongoDB
  • MVC
  • Mysql
  • Nginx
  • Node
  • PDO
  • PHP
  • PHP7
  • PHP基本语法
  • PHP核心编程
  • Redis
  • Smarty
  • Socket
  • SVN
  • Swoole
  • TP3.2
  • TP3.2商城
  • TP5.0
  • TP5.0商城
  • XML
  • Yaf
  • Yii
  • Yii手机直播
  • 二次开发
  • 优化方案
  • 前端技术
  • 前端框架
  • 后台框架
  • 基本操作
  • 微信公众号
  • 数据库
  • 未分类
  • 混合APP
  • 源码Blog项目
  • 版本控制
  • 环境搭建
  • 移动端开发
  • 网站优化
  • 资料
  • 面向对象
  • 面向对象编程
  • 页面静态化

Tags

DOM Json RBAC 事件 传参 函数 分页 判断语句 匿名函数 变量 图片上传 存储过程 安装 对象 封装 属性 接口 控制器 数据库操作 数据类型 数据表 数组 文件上传 无刷新分页 权限 标签 模型 正则 流程控制 目录结构 算法 类 索引 继承 缩略图 表关系 视图 路由 运算符 选择器 递归 配置 错误处理 页面静态化 验证码
  • 首页
  • 前端
  • 前端框架
  • PHP
  • 数据库
  • 优化
  • 后台框架与实战
  • 移动开发
  • 二次开发
  • Linux
  • 版本控制
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3

没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3