欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php7 list()、session及其他模塊的修改實例分析

 更新時間:2020年05月25日 09:41:07   作者:人生如初見_張默  
這篇文章主要介紹了php7 list()、session及其他模塊的修改,結(jié)合實例形式分析了php7 list()、session及其他模塊的修改相關(guān)操作技巧與使用注意事項,需要的朋友可以參考下

本文實例講述了php7 list()、session及其他模塊的修改。分享給大家供大家參考,具體如下:

一、list()不再按照相反的順序賦值

list($array[], $array[], $array[]) = [1, 2, 3]; 
var_dump($array);

上面的代碼會返回一個數(shù)組:$array == [1, 2, 3] 而不是之前的 [3, 2, 1]

注意:只是賦值的順序發(fā)生變化,賦的值還是和原來一樣的。

list($a, $b, $c) = [1, 2, 3]; // $a = 1; $b = 2; $c = 3;

和原來的行為還是一樣的。

二、空的list()賦值不再允許。

list() = $a;
list(,,) = $a;
list($x, list(), $y) = $a;

上面的這些代碼運行起來會報錯了。

三、list()不在支持字符串拆分功能   

$string = "xy";
list($x, $y) = $string;

這段代碼最終的結(jié)果是:$x == null and $y == null (不會有提示)

PHP5運行的結(jié)果是:

$x == "x" and $y == "y".

四、除此之外,list()現(xiàn)在也適用于數(shù)組對象:

list($a, $b) = (object) new ArrayObject([0, 1]);

PHP7結(jié)果:

$a == 0 and $b == 1.

PHP5結(jié)果:

$a == null and $b == null.

PHP7其他修改

CURL模塊:禁止禁用CURLOPT_SAFE_UPLOAD選項,通過curl上傳文件必須使用curl_file/CURLFILE接口。

DATE模塊:mktime()和gmmktime()函數(shù)移除了$is_dst parameter參數(shù)。

DBA模塊:dba_delete() 如果在inifile里面沒有找到key的時候會返回false。

GMP模塊:必須用libgmp 4.2版本以上。gmp_setbit() and gmp_clrbit()如果傳入的index為負(fù)數(shù)的話,會返回false。

Intl模塊:移除了別名函數(shù)datefmt_set_timezone_id() 和IntlDateFormatter::setTimeZoneID(),用datefmt_set_timezone() 和IntlDateFormatter::setTimeZone()

libxml模塊:新增ibxml 2.9.0引入的LIBXML_BIGLINES 選項,并在錯誤報告中增加了行號> 16-bit的支持。

Mcrypt模塊:.移除了mcrypt_generic_end() mcrypt_ecb(), mcrypt_cbc(), mcrypt_cfb() 和mcrypt_ofb()

Opcache:移除了opcache.load_comments配置項,現(xiàn)在注釋加載總是被激活的。

OpenSSL:移除了"rsa_key_size"、"CN_match" 、"SNI_server_name" 選項。

PCRE:移除了 /e (PREG_REPLACE_EVAL) 修飾符的支持,使用preg_replace_callback()來代替。

PDO_pgsql:刪除了PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT選項。

Standard:刪除了setlocale()函數(shù)里面對字符串類型的支持,使用LC_*常量。刪除了set_magic_quotes_runtime() magic_quotes_runtime().

JSON:json_decode()會拒絕與RFC 7159不兼容的數(shù)字格式。json_decode第一個參數(shù)是空值的時候會返回json語法錯誤。

Stream:刪除別名函數(shù)set_socket_blocking()

XSL:刪除xsl.security_prefs 選項。

session

session_start()可以接受所有的INI設(shè)置,可以用數(shù)組的方式傳入,比如:['cache_limiter'=>'private']

save handler接受validate_sid(), update_timestamp() ,可用來檢查sid是否存在,更新session數(shù)據(jù)的時間戳。

增加了SessionUpdateTimestampHandlerInterface,這個接口里面定義了validateSid(), updateTimestamp()方法。

session.lazy_write(default=On) 配置項可以允許只有session數(shù)據(jù)有變化時才寫數(shù)據(jù)。

PHP 7 Session 選項

PHP 7 session_start()函數(shù)可以接收一個數(shù)組作為參數(shù),可以覆蓋php.ini中session的配置項。

這個特性也引入了一個新的php.ini設(shè)置(session.lazy_write),默認(rèn)情況下設(shè)置為 true,意味著session數(shù)據(jù)只在發(fā)生變化時才寫入。

除了常規(guī)的會話配置指示項, 還可以在此數(shù)組中包含 read_and_close 選項。如果將此選項的值設(shè)置為 TRUE, 那么會話文件會在讀取完畢之后馬上關(guān)閉, 因此,可以在會話數(shù)據(jù)沒有變動的時候,避免不必要的文件鎖。

實例

把cache_limiter設(shè)置為私有的,同時在閱讀完session后立即關(guān)閉。

<?php 
session_start(&#91; 
'cache_limiter' => 'private', 
'read_and_close' => true, ]); 
?>

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php常用函數(shù)與技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對大家PHP程序設(shè)計有所幫助。

相關(guān)文章

最新評論