2019-06-17php版本變更5.5-5.6

向后不兼容

雖然大部分 PHP 5 的代碼無需修改即可正常運行身堡, 但是有部分代碼是無法向后兼容的:

使用數(shù)組標識符為類定義數(shù)組類型的屬性時草冈,數(shù)組的鍵不會被覆蓋

在 PHP 5.6 之前的版本中屏箍,為類定義數(shù)組類型的屬性時葱椭, 如果數(shù)組中同時使用了顯式數(shù)組鍵和隱式數(shù)組鍵幅聘,并且顯式的鍵和隱式的序列鍵相同梯找, 那么數(shù)組的鍵將被覆蓋。例如:


嚴格的?json_decode()

對于 JSON 字面量?truefalse?和?null获枝,如果不采用小寫格式,將會被?json_decode()?函數(shù)拒絕骇笔, 同時相應(yīng)的設(shè)置?json_last_error()省店。 在之前的版本中,json_decode()?函數(shù)可以接受這些字面量的 全部大寫或者大小寫混寫的格式笨触。

此變更僅會影響傳入到?json_decode()?中的 JSON 格式無效的情況懦傍, 有效的 JSON 輸入不會受到影響并且能夠正確解析。

Mcrypt?函數(shù)需要有效長度的密鑰和初始向量

mcrypt_encrypt()芦劣,mcrypt_decrypt()粗俱,?mcrypt_cbc()mcrypt_cfb()虚吟,?mcrypt_ecb()寸认,mcrypt_generic()?以及?mcrypt_ofb()?函數(shù)不再接受無效長度的密鑰和初始向量, 對于需要初始向量的分組加密模式串慰,如果不提供初始向量偏塞,函數(shù)調(diào)用將會失敗。

cURL?文件上傳

必須先設(shè)置 CURLOPT_SAFE_UPLOAD 為?FALSE?才能夠使用 @file 語法來上傳文件邦鲫。 建議使用?CURLFile?類來上傳文件灸叼。

新特性

使用表達式定義常量

在之前的 PHP 版本中, 必須使用靜態(tài)值來定義常量掂碱,聲明屬性以及指定函數(shù)參數(shù)默認值怜姿。 現(xiàn)在你可以使用包括數(shù)值、字符串字面量以及其他常量在內(nèi)的數(shù)值表達式來 定義常量疼燥、聲明屬性以及設(shè)置函數(shù)參數(shù)默認值沧卢。



現(xiàn)在可以通過?const?關(guān)鍵字來定義類型為?array?的常量。

const?ARR?=?['a',?'b'];

echo? ?ARR[0];

使用?...?運算符定義變長參數(shù)函數(shù)

現(xiàn)在可以不依賴?func_get_args()醉者, 使用?...?運算符 來實現(xiàn)?變長參數(shù)函數(shù)但狭。

function?f($req,?$opt?=?null,?...$params)?{? //?$params?是一個包含了剩余參數(shù)的數(shù)組

printf('$req:?%d;?$opt:?%d;?number?of?params:?%d'."\n",

????????$req,?$opt,?count($params));

}

f(1);

f(1,?2);

f(1,?2,?3);

f(1,?2,?3,?4);

f(1,?2,?3,?4,?5);

使用?...?運算符進行參數(shù)展開

function?add($a,?$b,?$c)?{

return? $a?+?$b?+?$c;

}

$operators?=?[2,?3];

echo? add(1,?...$operators);

使用?**?進行冪運算

加入右連接運算符?**?來進行冪運算披诗。 同時還支持簡寫的?**=?運算符,表示進行冪運算并賦值立磁。

use function?以及?use const

use?運算符 被進行了擴展以支持在類中導入外部的函數(shù)和常量呈队。 對應(yīng)的結(jié)構(gòu)為?use function?和?use const


默認字符編碼

對于一些字符編碼相關(guān)的函數(shù)唱歧,例如?htmlentities()宪摧,?html_entity_decode()?以及?htmlspecialchars()?使用?default_charset?作為默認字符集。請注意颅崩,對于 iconv(現(xiàn)已廢棄) 和 mbstring 相關(guān)的函數(shù)几于, 如果分別設(shè)置了他們的編碼, 那么這些對應(yīng)設(shè)置的優(yōu)先級高于 default_charset沿后。

default_charset 的默認值是?UTF-8沿彭。

php://input?是可重用的了

只要你需要,你可以多次打開并讀取?php://input尖滚。 同時喉刘,這個特性使得在處理 POST 的數(shù)據(jù)的時候, 可以明顯降低對于內(nèi)存的需求量漆弄。

大文件上傳

現(xiàn)在可以支持大于 2GB 的文件上傳睦裳。

函數(shù)的變化

PHP 內(nèi)核

如果省略?salt?參數(shù),crypt()?會產(chǎn)生?E_NOTICE錯誤置逻。

substr_compare()?的?length?參數(shù)現(xiàn)在接受?0?的值推沸。

unserialize()?如果傳遞的序列化數(shù)據(jù)已被操作以嘗試在不調(diào)用其構(gòu)造函數(shù)的情況下實例化對象,則現(xiàn)在將失敗券坞。

cURL

只有設(shè)置?CURLOPT_SAFE_UPLOAD?為?FALSE?的情況下, 才接受?@file?語法上傳文件肺素。 最好使用?CURLFile?代替恨锚。

Mcrypt

mcrypt_create_iv()?的?source?現(xiàn)在默認值是?MCRYPT_DEV_URANDOM,而非?MCRYPT_DEV_RANDOM倍靡。

OpenSSL

如果 SSL 上下文選項已經(jīng)提供?crypto_type?選項猴伶,?stream_socket_enable_crypto()?可以忽略?crypto_type?參數(shù)。

新加的函數(shù)

日期和時間??DateTimeImmutable::createFromMutable()

GMP

????????gmp_root()

????????gmp_rootrem()

Hash

????????hash_equals()

LDAP

????????ldap_escape()

????????ldap_modify_batch()

MySQLi

????????mysqli_get_links_stats()

OCI8

????????oci_get_implicit_resultset()

OpenSSL

????????openssl_get_cert_locations()

????????openssl_x509_fingerprint()

????????openssl_spki_new()

????????openssl_spki_verify()

????????openssl_spki_export_challenge()

????????openssl_spki_export()

PostgreSQL

????????pg_connect_poll()

????????pg_consume_input()

????????pg_flush()

????????pg_socket()

PDO_PGSQL

????????PDO::pgsqlGetNotify()

????????PDO::pgsqlGetPid()

Session

????????session_abort()

????????session_reset()

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末塌西,一起剝皮案震驚了整個濱河市他挎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌捡需,老刑警劉巖办桨,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異站辉,居然都是意外死亡呢撞,警方通過查閱死者的電腦和手機损姜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來殊霞,“玉大人摧阅,你說我怎么就攤上這事”炼祝” “怎么了棒卷?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長祝钢。 經(jīng)常有香客問我比规,道長,這世上最難降的妖魔是什么太颤? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任苞俘,我火速辦了婚禮,結(jié)果婚禮上龄章,老公的妹妹穿的比我還像新娘吃谣。我一直安慰自己,他們只是感情好做裙,可當我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布岗憋。 她就那樣靜靜地躺著,像睡著了一般锚贱。 火紅的嫁衣襯著肌膚如雪仔戈。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天拧廊,我揣著相機與錄音监徘,去河邊找鬼。 笑死吧碾,一個胖子當著我的面吹牛凰盔,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播倦春,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼户敬,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了睁本?” 一聲冷哼從身側(cè)響起尿庐,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎呢堰,沒想到半個月后抄瑟,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡暮胧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年锐借,在試婚紗的時候發(fā)現(xiàn)自己被綠了问麸。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡钞翔,死狀恐怖严卖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情布轿,我是刑警寧澤哮笆,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站汰扭,受9級特大地震影響稠肘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜萝毛,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一项阴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧笆包,春花似錦环揽、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至巴粪,卻和暖如春通今,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背肛根。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工辫塌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人派哲。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓璃氢,卻偏偏與公主長得像,于是被迫代替她去往敵國和親狮辽。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容