簡體   English   中英

PHP 7.2的可數問題

[英]Countable issue for PHP 7.2

我有一個客戶多年來一直依賴WP插件,而該插件幾年前就被作者放棄了。 我已經能夠進行一些修復以使其能夠升級到PHP 7.2,但這使我感到困惑。 我研究得越多,就越不了解如何解決它。

以下警告:

警告:count():參數必須是第311行( 第一行 /app/public/wp-content/plugins/ozh-admin-drop-down-menu/inc/core.php中實現Countable的數組或對象) 下面是311

if (!count($wp_ozh_adminmenu)) {
    $wp_ozh_adminmenu = (array)get_option('ozh_adminmenu');
    unset($wp_ozh_adminmenu[0]);
}

在PHP 7.2之前,將非數組傳遞給count() ,它返回1。
現在,您可以在重大更改中看到,當您給它一個非數組時, count()會發出警告。

一個簡單的解決方法是在使用它之前檢查它是否為數組。 例如,如果要允許數組和字符串,則可能需要更多檢查。

<?php
if (!is_array($wp_ozh_adminmenu) || !count($wp_ozh_adminmenu)) {
    $wp_ozh_adminmenu = (array)get_option('ozh_adminmenu');
    unset($wp_ozh_adminmenu[0]);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM