亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我該如何修復此 PHP 錯誤 - 參數必須是實現 Countable 的數組或對象?

我該如何修復此 PHP 錯誤 - 參數必須是實現 Countable 的數組或對象?

PHP
猛跑小豬 2023-10-22 21:28:37
我在這條線上遇到錯誤,不知道如何糾正它,有什么幫助嗎?我的 php 能力為零甚至沒有,只想修復我所做的一些工作中的錯誤。該修復程序還會向后兼容 PHP7 到 PHP5 嗎?for($k=0;$k<count($_matchup['franchise'][$m]['player']);$k++){
查看完整描述

2 回答

?
拉莫斯之舞

TA貢獻1820條經驗 獲得超10個贊

在 PHP 7.2 中,如果您對不可數的變量調用 count(),PHP 會顯示有關它的警告。一個常見的解決方法是在調用 count() 之前檢查給定變量是否是“可數”。

“可數”變量可以是數組,也可以是實現 \Countable 接口的類的對象。因為可能有很多樣板代碼,所以 PHP 7.3 現在有一個新的 is_countable() 函數,如果傳遞的變量是……嗯……可數,則該函數返回 true。

https://php.watch/versions/7.3#new-is_countable-function

我會做這樣的事情:

if(isset($_matchup['franchise'][$m]['player']) && is_countable($_matchup['franchise'][$m]['player']) {

    for($k=0;$k<count($_matchup['franchise'][$m]['player']);$k++){

        ...

    }

}

如果你的版本低于 7.3,請將這個 polyfill 放入你的代碼中:


if (!function_exists('is_countable')) {

    function is_countable($var) { 

        return is_array($var) 

            || $var instanceof Countable 

            || $var instanceof ResourceBundle 

            || $var instanceof SimpleXmlElement; 

    }

}


查看完整回答
反對 回復 2023-10-22
?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

請確保它$_matchup['franchise'][$m]['player']實際上是一個可以計數的變量。正如錯誤消息所示。

比如數組

這行代碼應該兼容 PHP5 和 PHP7


查看完整回答
反對 回復 2023-10-22
  • 2 回答
  • 0 關注
  • 219 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號