佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > php7 list()、session及其他模塊的修改實例分析

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

熱門標簽:阿里云 科大訊飛語音識別系統(tǒng) Mysql連接數(shù)設置 電子圍欄 銀行業(yè)務 服務器配置 團購網(wǎng)站 Linux服務器

本文實例講述了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;

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

PHP5運行的結果是:

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

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

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

PHP7結果:

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

PHP5結果:

$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為負數(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ù)組的方式傳入,比如:['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設置(session.lazy_write),默認情況下設置為 true,意味著session數(shù)據(jù)只在發(fā)生變化時才寫入。

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

實例

把cache_limiter設置為私有的,同時在閱讀完session后立即關閉。

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

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

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

您可能感興趣的文章:
  • MacOS下PHP7.1升級到PHP7.4.15的方法
  • php7和php5具體區(qū)別實例講解
  • PHP7原生MySQL數(shù)據(jù)庫操作實現(xiàn)代碼
  • php7 參數(shù)、整形及字符串處理機制修改實例分析
  • php7 錯誤處理機制修改實例分析
  • php5.6.x到php7.0.x特性小結
  • PHP7.1實現(xiàn)的AES與RSA加密操作示例
  • php7函數(shù),聲明,返回值等新特性介紹
  • 可兼容php5與php7的cURL文件上傳功能實例分析
  • php7和php5的詳細對比

標簽:萍鄉(xiāng) 棗莊 蚌埠 大理 廣元 江蘇 衢州 衡水

巨人網(wǎng)絡通訊聲明:本文標題《php7 list()、session及其他模塊的修改實例分析》,本文關鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    晋城| 会理县| 广德县| 焦作市| 永宁县| 隆安县| 康乐县| 佛坪县| 漠河县| 巨鹿县| 武冈市| 南召县| 吐鲁番市| 肥城市| 西林县| 宁都县| 大安市| 方正县| 乌拉特后旗| 长春市| 玉林市| 绥芬河市| 连州市| 汉中市| 寿宁县| 分宜县| 裕民县| 岚皋县| 墨玉县| 建阳市| 临江市| 祁门县| 彭山县| 涟源市| 上蔡县| 高雄县| 宁明县| 上虞市| 扎赉特旗| 峡江县| 石嘴山市|