(实用篇)PHP7.0新特性

1.标量参数类型声明

现在支持字符串(string)、整型(int)、浮点数(float)、及布尔型(bool)参数声明,以前只支持类名、接口、数组及Callable

两种风格:强制转换模式(默认)与严格模式

<?php
// Coercive mode
function sumOfInts(int ...$ints)
{
    return array_sum($ints);
}

var_dump(sumOfInts(2, '3', 4.1));

2.返回类型声明

<?php
function arraysSum(array ...$arrays): array
{
    return array_map(function(array $array): int {
        return array_sum($array);
    }, $arrays);
}

print_r(arraysSum([1,2,3], [4,5,6], [7,8,9]));

3.??运算符

?? 用于替代需要isset的场合,这是一个语法糖。

<?php
// Fetches the value of $_GET['user'] and returns 'nobody'
// if it does not exist.
$username = $_GET['user'] ?? 'nobody';
// This is equivalent to:
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';

// Coalescing can be chained: this will return the first
// defined value out of $_GET['user'], $_POST['user'], and
// 'nobody'.
$username = $_GET['user'] ?? $_POST['user'] ?? 'nobody';

4.<=> 比较运算符

就是看两个表达式值的大小,三种关系: = 返回0、< 返回-1、 > 返回 1

<?php
// Integers
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1

// Floats
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1
 
// Strings
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1

5.define支持定义数组类型的值

php 5.6已经支持CONST 语法定义数组类的常量,PHP7中支持define语法。

<?php
define('ANIMALS', [
    'dog',
    'cat',
    'bird'
]);

echo ANIMALS[1]; // outputs "cat"

6.匿名类

<?php
interface Logger {
    public function log(string $msg);
}

class Application {
    private $logger;

    public function getLogger(): Logger {
         return $this->logger;
    }

    public function setLogger(Logger $logger) {
         $this->logger = $logger;
    }
}

$app = new Application;
$app->setLogger(new class implements Logger {
    public function log(string $msg) {
        echo $msg;
    }
});

var_dump($app->getLogger());

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/1433.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
重蔚重蔚管理团队
上一篇 2016年10月25日 10:26
下一篇 2016年10月26日 08:25

相关推荐

  • PHP入门指南:协程。

    随着互联网的不断发展和高并发场景的增多,PHP作为一种高性能、易于学习和使用的语言,受到了越来越多的关注和运用。PHP的协程技术是其高并发处理的重要利器之一,本文将为大家介绍PHP协程的基本概念、实现原理和应…

    2023年5月23日
    04
  • 如何使用PHP和GraphQL构建API驱动型应用。

    在当今数字化时代,许多应用都需要依靠API(应用程序编程接口)与其他应用或服务进行交互。传统的API采用RESTful架构,而GraphQL是一种新兴的API查询语言,它提供了更高效、灵活和可扩展的API接口方案。本文将介绍…

    2023年5月28日
    01
  • 使用PHP操作Elasticsearch数据库。

    随着大数据时代的到来,很多企业开始选择使用Elasticsearch数据库来存放和索引海量数据。而PHP是一个广泛使用的Web开发语言,因此,了解如何使用PHP操作Elasticsearch数据库将会大有裨益。安装Elasticsearch和PHP扩…

    2023年5月21日
    010
  • 说说香港php云主机购买怎么搭建网络。

    搭建香港PHP云主机,首先需要购买一台服务器。可以选择租用多台服务器组件集群,但这需要更高的技术含量和更复杂的操作。选择可信赖的云主机服务提供商是关键,如野草云或亿美互联等。注册账号并登录,然后根据所选…

    2024年7月22日
    00
  • 重蔚自留地php学习第三十五天——mysql基础1

    文件操作:目录操作,文件操作 目录操作步骤: 准备一个目录(路径) 判断一个路径是否是一个目录 打开目录opendir,返回一个目录资源,包含当前目录下所有的文件 遍历目录资源,循环+readdir,每次获得一个文件名…

    2018年3月26日 PHP自学教程
    0315
  • PHP入门指南:PHP和Dart。

    PHP(Hypertext Preprocessor)是一种广泛使用的服务器端编程语言,被广泛应用于网站开发、动态网页设计以及其他WEB应用场景。而Dart则是一种新兴的编程语言,由Google于2011年推出,旨在取代JavaScript,并被广泛…

    2023年5月23日
    01
  • 通过php实现定时任务

    php是怎么做定时任务? 如下图所示: 代码: header("Content-type:text/html;Charset=utf8"); //原理:通过sleep一段时间后再访问脚本自身的方式继续执行 //设置sleep时间 $time=15; //获取请求的Url $url="http://".$…

    2018年4月27日
    0250
  • PHP入门指南:CDN加速。

    在现代的网站开发中,网站的性能对于用户体验和搜索引擎排名都起着至关重要的作用。其中,网站的速度是用户最为关注的一个因素。如果网站的加载速度很慢,用户往往会选择离开这个网站或寻找速度更快的替代品。因此…

    2023年5月22日
    04

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息