码迷,mamicode.com
首页 > Web开发 > 详细

php5.*与php7.* 区别

时间:2021-03-11 14:18:21      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:排序   tencent   pes   fun   return   UNC   null   isset   运算符   

null合并运算符
$username = isset($_GET[‘user‘]) ? $_GET[‘user‘] : ‘nobody‘;
$username = $_GET[‘user‘] ?? ‘nobody‘; // 等同于上句操作
// 合并操作
$username = $_GET[‘user‘] ?? $_POST[‘user‘] ?? ‘nobody‘;

定义常量
define(‘IT‘, [‘sina‘, ‘baidu‘, ‘tencent‘]);
echo IT[0]; // sina

// php7中增加了标量类型声明,分为两种模式,强制(默认),严格模式;
// ... 可变数量的参数 5.6添加
// declare(strict_types=1); 1:严格模式,0:弱类型(默认)
// declare(strict_types=0); 当为1时会报参数错误
// 标量类型声明,参数声明为 int
function sumOfInts(int ...$ints)
{
  return array_sum($ints);
}
var_dump(sumOfInts(2, 3, 4.1)); // int(9)

// 返回类型声明,返回类型声明为string
function sumOfInts(int ...$ints) : string
{
  return array_sum($ints);
}
var_dump(sumOfInts(2, 3, 4.1)); // string(1) "9"


// 太空船操作符(组合比较符)
// 太空船操作符用于比较两个表达式。当$a小于、等于或大于$b时它分别返回-1、0或1
// 可用配合排序使用

echo 1 <=> 1; // 相等 0
echo "\r\n";
echo 1 <=> 2; // 小于 -1
echo "\r\n";
echo 1 <=> 0; // 大于 1

$things = [
    [
        foo => 2,
        bar => b
    ],
    [
        foo => 3,
        bar => c
    ],
    [
        foo => 1,
        bar => a
    ]
];

usort($things, function ($a, $b) {
    return $a[foo] <=> $b[foo];
});
print_r($things);
Array
(
    [0] => Array
        (
            [foo] => 1
            [bar] => a
        )
    [1] => Array
        (
            [foo] => 2
            [bar] => b
        )
    [2] => Array
        (
            [foo] => 3
            [bar] => c
        )

)

 

TODO:未完待续

php5.*与php7.* 区别

标签:排序   tencent   pes   fun   return   UNC   null   isset   运算符   

原文地址:https://www.cnblogs.com/blue-t/p/14513421.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!