php被替代,php 替代被弃用函数的
下面列舉了部分被棄用的函數(shù):
call_user_method()
(使用
call_user_func()
替代)
call_user_method_array()
(使用
call_user_func_array()
替代)
define_syslog_variables()
dl()
ereg()
(使用
preg_match()
替代)
ereg_replace()
(使用
preg_replace()
替代)
eregi()
(使用
preg_match()
配合 ‘i’ 修正符替代)
eregi_replace()
(使用
preg_replace()
配合 ‘i’ 修正符替代)
set_magic_quotes_runtime()
以及它的別名函數(shù)
magic_quotes_runtime()
[color=olive]session_register()
(使用
$_SESSION
超全部變量替代)
session_unregister()
(使用
$_SESSION 超全部變量
替代)
session_is_registered()
(使用
$_SESSION 超全部變量
替代)
set_socket_blocking()
(使用
stream_set_blocking()
替代)
split()
(使用
preg_split()
替代)
spliti()
(使用
preg_split()
配合 ‘i’ 修正符替代)
sql_regcase()
mysql_db_query()
(使用
mysql_select_db()
和
mysql_query()
替代)
mysql_escape_string()
(使用
mysql_real_escape_string()
替代)
廢棄以字符串傳遞區(qū)域設(shè)置名稱. 使用
LC_*
系列常量替代.
mktime()
的
is_dst
參數(shù). 使用新的時區(qū)處理函數(shù)替代.
涉及到的主要的函數(shù)遷移如下:
刪除函數(shù) define_syslog_variables 引用刪除對函數(shù) define_syslog_variables 的引用將變量 $LOG_ERR, $LOG_USER 等用常量 LOG_USER, LOG_USER, … 替代
ereg, eregi
函數(shù)用
preg_match
函數(shù)替代這幾個函數(shù)的函數(shù)聲明int ereg ( string$pattern , string $string [, array &$regs ] ) int eregi ( string $pattern , string $string [, array &$regs ] ) intpreg_match ( string $pattern , string $subject [, array &$matches [, int $flags [, int $offset ]]] )雖然三者的第一個參數(shù)都是字符串,表示一個正則表達(dá)式,但是 preg_match 用的是 PCRE(Perl 兼容的正則表達(dá)式語法):
正則表達(dá)式的兩端用一個符號做邊界,如 “/pattern/” 或者 “#pattern#”
,eregi 是乎略大小寫的匹配,轉(zhuǎn)換為 preg_match,第一個參數(shù),
用PCRE的參數(shù)來乎略大小寫,如:”/pattern/i” 或者 “#pattern#i”
,兩者的第三個參數(shù)返回的匹配的數(shù)據(jù)結(jié)構(gòu)不同。ereg 的第三個參數(shù)在調(diào)用結(jié)束后,返回的是一個字符串?dāng)?shù)組,分別為完整匹配字串和各個子匹配字串。preg_match 返回的是二維數(shù)組,相當(dāng)于 ereg 的字串?dāng)?shù)組中的字串在 preg_match 是一個數(shù)組,分別保存匹配值以及匹配位置。如果要進(jìn)行多次匹配,PHP 提供了 preg_match_all 函數(shù),其第三個參數(shù)的返回值則是一個三維數(shù)組.
ereg_replace, eregi_replace
函數(shù)用
preg_replace
函數(shù)或者 str_replace 函數(shù)來替代和前面的 ereg 替換為 preg_match 類似,第一個參數(shù)要進(jìn)行轉(zhuǎn)換,頭尾增加一個符號,如:”/pattern/” 或者 “#pattern#”, …eregi_replace 到 preg_replace 的替換,在第一個參數(shù)的后面增加正則表達(dá)式參數(shù)。如:”/pattern/i” 或者 “#pattern#i”, …如果 ereg_replace 的第一個參數(shù)不是正則表達(dá)式,可以用 str_replace 直接來替換。
spliti
函數(shù)用
explode
或則
preg_split
函數(shù)替代split 切分字符串,
如果無須用到正則表達(dá)式,使用 explode 替換是最好不過,速度最快.
對于使用正則表達(dá)式切分字串,則使用 preg_split 函數(shù)替代。替代過程和 ereg/ereg_replace 類似,只是在第一個正則表達(dá)式參數(shù)中做文章,將 split 的正則表達(dá)式前后加上一個 PCRE 的分隔符號。
總結(jié)
以上是生活随笔為你收集整理的php被替代,php 替代被弃用函数的的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 研究机构:2022 年中国电子纸平板市场
- 下一篇: php无符号整数转有符号整数,PHP中把