溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何解決laravel項(xiàng)目本地環(huán)境PHP7報(bào)錯(cuò)each函數(shù)廢棄問題

發(fā)布時(shí)間:2021-10-11 11:51:18 來源:億速云 閱讀:191 作者:柒染 欄目:大數(shù)據(jù)

如何解決laravel項(xiàng)目本地環(huán)境PHP7報(bào)錯(cuò)each函數(shù)廢棄問題,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

 例子1:

php7.1寫法

if ( is_array( $u ) ) {            while( list( $key ) = each( $u ) ) {                $u = $u[$key];                break;            }        }

改為php7.2寫法

if ( is_array( $u ) ) {          $u = current($u);        }
As PHP7.2 says, I suggest to use   foreach()   function as a substitute of deprecated   each()  . Here I let a couple of examples that works to me in Wordpress.----正如PHP7.2所說,我建議使用foreach()函數(shù)來替代已棄用的each()。這里我舉幾個(gè)在Wordpress中對(duì)我有用的例子。  
(OLD) while ( list( $branch, $sub_tree ) = each( $_tree ) ) {...}(NEW) foreach ( (Array) $_tree as $branch => $sub_tree ) {...}  (OLD) while ( $activity = each( $this->init_activity ) ) {...}(NEW) foreach ( $this->init_activity as $activity ) {...} (old)while(list($file, $info) = each($this->images))(new)foreach($this->images as $file => $info) {    // ...}

例子2 

16548 while (list($id, $name) = each($attr_array[1])) {  //7.1 I replaced the line with the next code in both lines and it worked,替換為如下 foreach($attr_array[1] as $id => $name) {  //7.2

例子3:我的例子:支付過程中生成簽名時(shí)出現(xiàn)錯(cuò)誤 

public function createLinkString($param)    {        $arg = "";        //數(shù)組排序        ksort($param);        reset($param);        //7.1寫法        /*while (list ($key, $val) = each($param)) {            if ($key == "sign") continue;            if (!empty($key)) {                $arg .= $key . "=";            }            if (is_array($val)) {                $arg .= $this->createLinkString($val) . "&";            } else {                $arg .= $val . "&";            }        }*/        //7.2寫法        foreach ($param as $key => $val) {            if ($key == "sign") continue;            if (!empty($key)) {                $arg .= $key . "=";            }            if (is_array($val)) {                $arg .= $this->createLinkString($val) . "&";            } else {                $arg .= $val . "&";            }        }        //去掉最后一個(gè)&字符        $arg = substr($arg, 0, strlen($arg) - 1);        return $arg;    }

總之,一句話,php7.2版本中each函數(shù)廢棄了不能用,直接用foreach替換就ok了。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI