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

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

如何解決Oscommerce,警告:sizeof():參數必須是數組或實現Countable的對象

如何解決Oscommerce,警告:sizeof():參數必須是數組或實現Countable的對象

PHP
炎炎設計 2023-07-30 13:14:53
我安裝了最新版本的 OSCommerce 框架。在后端類別/產品錯誤中顯示如下:警告:sizeof():參數必須是在 C:\xampp\htdocs\oscommerce\catalog\admin\includes\functions\general.php 第 93 行中實現 Countable 的數組或對象我嘗試使用is_array()但count()仍然無法正常工作,下面是代碼   function tep_get_path($current_category_id = '') {    global $cPath_array;    if ($current_category_id == '') {      $cPath_new = implode('_', $cPath_array);    } else {      if (sizeof($cPath_array) == 0) {        $cPath_new = $current_category_id;      } else {        $cPath_new = '';        $last_category_query = tep_db_query("select parent_id from " . TABLE_CATEGORIES . " where         categories_id = '" . (int)$cPath_array[(sizeof($cPath_array)-1)] . "'");        $last_category = tep_db_fetch_array($last_category_query);        $current_category_query = tep_db_query("select parent_id from " . TABLE_CATEGORIES . " where         categories_id = '" . (int)$current_category_id . "'");        $current_category = tep_db_fetch_array($current_category_query);        if ($last_category['parent_id'] == $current_category['parent_id']) {          for ($i = 0, $n = sizeof($cPath_array) - 1; $i < $n; $i++) {            $cPath_new .= '_' . $cPath_array[$i];          }        } else {          for ($i = 0, $n = sizeof($cPath_array); $i < $n; $i++) {            $cPath_new .= '_' . $cPath_array[$i];          }        }        $cPath_new .= '_' . $current_category_id;        if (substr($cPath_new, 0, 1) == '_') {          $cPath_new = substr($cPath_new, 1);        }      }    }    return 'cPath=' . $cPath_new;  }
查看完整描述

3 回答

?
慕絲7291255

TA貢獻1859條經驗 獲得超6個贊

我在文件中添加了以下代碼,只是給出錯誤的行。

if ($cPath_array == null) {
    $cPath_array = array();
}

它解決了我的錯誤


查看完整回答
反對 回復 2023-07-30
?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

sizeof是count的別名。

count的行為在 PHP 7.2 中發生了變化。

count() 現在將對傳遞給 array_or_countable 參數的無效可數類型發出警告。

可能的原因:

var_dump(count([])); // OK

var_dump(count((object)[])); // Warning

var_dump(count(null)); // Warning

var_dump(count(false)); // Warning

var_dump(count(123)); // Warning

var_dump(count('123')); // Warning

$cPath_array請檢查使用var_dump的數據類型。$cPath_array在代碼中作為數組實現,但生成警告的實際值是多少。

糟糕的臨時解決方案:?降級你的 PHP 版本。


查看完整回答
反對 回復 2023-07-30
?
慕工程0101907

TA貢獻1887條經驗 獲得超5個贊

您也可以使用empty().?它檢查變量是否為“假”。

if?(empty($cPath_array))?{?}

代替

if?(sizeof($cPath_array)?==?0)?{?}


查看完整回答
反對 回復 2023-07-30
  • 3 回答
  • 0 關注
  • 235 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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