• php基础重温 php7新特性


    // function myTest($x)
    // {
    // echo $x;
    // }
    // myTest(5);


    // $txt1="Hello world!";
    // $txt2="What a nice day!";
    // echo $txt1 . $txt2;


    // echo strpos("Hello world!","1");


    // var_dump(intdiv(10, 3));


    // $x=10;
    // echo $x; // 输出10

    // $y=20;
    // $y += 100;
    // echo $y; // 输出120

    // $z=50;
    // $z -= 25;
    // echo $z; // 输出25

    // $i=5;
    // $i *= 6;
    // echo $i; // 输出30

    // $j=10;
    // $j /= 5;
    // echo $j; // 输出2

    // $k=15;
    // $k %= 4;
    // echo $k; // 输出3


    // $x=10;
    // echo $x--; // 输出11
    // $i=5;
    // echo $i--; // 输出5
    // var_dump($x);
    // $s = $x - 1;
    // var_dump($s);

    // echo 12 <=> 9; // 0

    // $a = 1;
    // $b = 2;
    // $c = 3;
    // $d = $a + $b * $c;
    // echo $d;
    // echo " ";
    // $e = ($a + $b) * $c; // 使用括号
    // echo $e;
    // echo " ";

    // function writeName($fname)
    // {
    // echo $fname . " Refsnes.<br>";
    // }

    // echo "My name is ";
    // writeName("Kai Jim");
    // echo "My sister's name is ";
    // writeName("Hege");
    // echo "My brother's name is ";
    // writeName("Stale");

    // function add($x,$y)
    // {
    // $total=$x+$y;
    // return $total;
    // }

    // echo "1 + 16 = " . add(1,16);


    /*
    php7新特性

    太空舱符 更快的比较两个数组大小 返回 0 或 -1
    ---------------------------
    强制模式 和 严格模式 强制格式是会强制参数类型 严格类型 会检验参数是否为设定类型不是则报错
    ---------------------------
    新增返回函数void 一个新的返回值类型void被引入。 返回值声明为 void 类型的方法要么干脆省去 return 语句,
    要么使用一个空的 return 语句。 对于 void 函数来说,NULL 不是一个合法的返回值。
    返回的类型还有 void,定义返回类型为 void 的函数不能有返回值,即使返回 null 也不行。
    void 函数可以省去 return 语句,或者使用一个空的 return 语句。
    ---------------------------
    合并运算符
    a = 10;
    var_dump($a ?? "a"); // 相当于: isset($a) ? $a : 'a' => 输出 10
    var_dump($a ?: "b"); // 相当于: $a ? $a : 'a' =>输出 10
    ---------------------------
    常量数组define
    define('数组名', 数组);
    define('sites', [
    'Google',
    'Runoob',
    'Taobao'
    ]);
    ---------------------------
    PHP 匿名类
    PHP 7 支持通过 new class 来实例化一个匿名类,这可以用来替代一些"用后即焚"的完整类定义。
    ---------------------------
    PHP Closure::call()
    PHP 7 的 Closure::call() 有着更好的性能,将一个闭包函数动态绑定到一个新的对象实例并调用执行该函数。
    ---------------------------
    PHP 过滤 unserialize()
    PHP 7 增加了可以为 unserialize() 提供过滤的特性,可以防止非法数据进行代码注入,提供了更安全的反序列化数据。
    ---------------------------
    PHP IntlChar()
    PHP 7 通过 intl 扩展来支持国际化 (i18n) 和本地化 (l10n) 。此扩展仅仅是对 ICU 库的基础包装,
    并提供了和 ICU 库类似的方法和特性。
    PHP 7 通过新的 IntlChar 类暴露出 ICU 中的 Unicode 字符特性。这个类自身定义了许多静态方法用于操作多字符集的 unicode 字符。
    ---------------------------
    CSPRNG(Cryptographically Secure Pseudo-Random Number Generator,伪随机数产生器)。
    PHP 7 通过引入几个 CSPRNG 函数提供一种简单的机制来生成密码学上强壮的随机数。
    random_bytes() - 加密生存被保护的伪随机字符串。
    random_int() - 加密生存被保护的伪随机整数。
    ---------------------------
    PHP 7 可以使用一个 use 从同一个 namespace 中导入类、函数和常量:
    ---------------------------
    PHP intdiv() 函数
    PHP 7 新增加了 intdiv() 函数,接收两个参数,返回值为第一个参数除于第二个参数的值并取整。
    ---------------------------
    php7 以前,我们使用 session 前都是要先代用 session_strat() 函数来初始化的,
    但这个函数是没有参数可以传的,session 的配置都在 php.ini 文件中。
    在 php7 后 session_start() 可以接受一个 array 作为参数, 用来覆盖 php.ini 文件中设置的会话配置选项。
    session_start([
    'cache_limiter' => 'private', //在读取完毕会话数据之后马上关闭会话存储文件
    'cookie_lifetime'=>3600, //SessionID在客户端Cookie储存的时间,默认是0,代表浏览器一关闭SessionID就作废
    'read_and_close'=>true //在读取完会话数据之后, 立即关闭会话存储文件,不做任何修改
    ]);
    $_SESSION['name']='quan';
    echo $_SESSION['name'];
    ---------------------------
    PHP 7 废弃特性
    PHP4 风格的构造函数
    在 PHP4 中类中的函数可以与类名同名,这一特性在 PHP7 中被废弃,同时会发出一个 E_DEPRECATED 错误。
    当方法名与类名相同,且类不在命名空间中,同时PHP5的构造函数(__construct)不存在时,会产生一个 E_DEPRECATED 错误。
    ---------------------------
    PHP 7+ 版本移除了以下扩展:
    ereg
    mssql
    mysql
    sybase_ct
    ---------------------------


    */

  • 相关阅读:
    链表问题----反转部分单向链表
    HTTP请求详解
    链表问题----删除链表的中间节点和a/b处的节点
    链表问题----删除倒数第K个节点
    栈和队列----最大值减去最小值小于等于num的子数组的数量
    栈和队列----求最大子矩阵的大小
    TCP/IP、Http、Socket的区别
    栈和队列----生成窗口的最大值数组
    linux根文件系统制作,busybox启动流程分析
    linux 内核启动流程分析,移植
  • 原文地址:https://www.cnblogs.com/ma--shuai/p/14992320.html
Copyright © 2020-2023  润新知