Blogger Information
Blog 14
fans 0
comment 0
visits 9867
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
php7 list()、session及其他模块的修改实例分析
P粉823318658
Original
681 people have browsed it
  1. 1
  2. list($a, $b) = (object) new ArrayObject([0, 1]);
  3. ``````php
  4. 这篇文章主要介绍了php7 list()、session及其他模块的修改,结合实例形式分析了php7 list()、session及其他模块的修改相关操作技巧与使用注意事项,需要的朋友可以参考下
  5. 本文实例讲述了php7 list()、session及其他模块的修改。分享给大家供大家参考,具体如下:
  6. 一、list()不再按照相反的顺序赋值
  1. list($array[], $array[], $array[]) = [1, 2, 3];
  2. var_dump($array);
  1. 上面的代码会返回一个数组:$array == [1, 2, 3] 而不是之前的 [3, 2, 1]
  2. 注意:只是赋值的顺序发生变化,赋的值还是和原来一样的
  1. 1
  2. list($a, $b, $c) = [1, 2, 3]; // $a = 1; $b = 2; $c = 3;
  1. 和原来的行为还是一样的。
  2. 二、空的list()赋值不再允许
  3. ``````php
  4. list() = $a;
  5. list(,,) = $a;
  6. list($x, list(), $y) = $a;
  7. ``````php
  8. 上面的这些代码运行起来会报错了。
  9. 三、list()不在支持字符串拆分功能
  1. $string = "xy";
  2. list($x, $y) = $string;
  3. ``````php
  4. 这段代码最终的结果是:$x == null and $y == null (不会有提示)
  5. PHP5运行的结果是:
  6. $x == "x" and $y == "y".
  7. 四、除此之外,list()现在也适用于数组对象:
  1. PHP7结果:
  2. $a == 0 and $b == 1.
  3. PHP5结果:
  4. $a == null and $b == null.
  5. PHP7其他修改
  6. CURL模块:禁止禁用CURLOPT_SAFE_UPLOAD选项,通过curl上传文件必须使用curl_file/CURLFILE接口。
  7. DATE模块:mktime()和gmmktime()函数移除了$is_dst parameter参数。
  8. DBA模块:dba_delete() 如果在inifile里面没有找到key的时候会返回false
  9. GMP模块:必须用libgmp 4.2版本以上。gmp_setbit() and gmp_clrbit()如果传入的index为负数的话,会返回false
  10. Intl模块:移除了别名函数datefmt_set_timezone_id() IntlDateFormatter::setTimeZoneID(),用datefmt_set_timezone() IntlDateFormatter::setTimeZone()
  1. Mcrypt模块:.移除了mcrypt_generic_end() mcrypt_ecb(), mcrypt_cbc(), mcrypt_cfb() mcrypt_ofb()
  2. Opcache:移除了opcache.load_comments配置项,现在注释加载总是被激活的。
  3. OpenSSL:移除了"rsa_key_size""CN_match" "SNI_server_name" 选项。
  4. PCRE:移除了 /e (PREG_REPLACE_EVAL) 修饰符的支持,使用preg_replace_callback()来代替。
  5. PDO_pgsql:删除了PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT选项。
  6. Standard:删除了setlocale()函数里面对字符串类型的支持,使用LC_*常量。删除了set_magic_quotes_runtime() magic_quotes_runtime().
  1. JSONjson_decode()会拒绝与RFC 7159不兼容的数字格式。json_decode第一个参数是空值的时候会返回json语法错误。
  2. Stream:删除别名函数set_socket_blocking()
  3. XSL:删除xsl.security_prefs 选项。
  4. session
  5. session_start()可以接受所有的INI设置,可以用数组的方式传入,比如:['cache_limiter'=>'private']
  6. save handler接受validate_sid(), update_timestamp() ,可用来检查sid是否存在,更新session数据的时间戳。
  7. 增加了SessionUpdateTimestampHandlerInterface,这个接口里面定义了validateSid(), updateTimestamp()方法。
  8. session.lazy_write(default=On) 配置项可以允许只有session数据有变化时才写数据。
  9. PHP 7 Session 选项
  10. PHP 7 session_start()函数可以接收一个数组作为参数,可以覆盖php.inisession的配置项。
  11. 这个特性也引入了一个新的php.ini设置(session.lazy_write),默认情况下设置为 true,意味着session数据只在发生变化时才写入。
  12. 除了常规的会话配置指示项, 还可以在此数组中包含 read_and_close 选项。如果将此选项的值设置为 TRUE 那么会话文件会在读取完毕之后马上关闭, 因此,可以在会话数据没有变动的时候,避免不必要的文件锁。
  13. 实例
  14. cache_limiter设置为私有的,同时在阅读完session后立即关闭。
  1. <?php
  2. session_start(&#91;
  3. 'cache_limiter' => 'private',
  4. 'read_and_close' => true, ]);
  5. ?>
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post