我安裝了最新版本的 OSCommerce 框架。在后端類別/產(chǎn)品錯誤中顯示如下:警告:sizeof():參數(shù)必須是在 C:\xampp\htdocs\oscommerce\catalog\admin\includes\functions\general.php 第 93 行中實現(xiàn) Countable 的數(shù)組或?qū)ο笪覈L試使用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條經(jīng)驗 獲得超6個贊
我在文件中添加了以下代碼,只是給出錯誤的行。
if ($cPath_array == null) { $cPath_array = array(); }
它解決了我的錯誤

精慕HU
TA貢獻1845條經(jīng)驗 獲得超8個贊
sizeof是count的別名。
count
的行為在 PHP 7.2 中發(fā)生了變化。
count() 現(xiàn)在將對傳遞給 array_or_countable 參數(shù)的無效可數(shù)類型發(fā)出警告。
可能的原因:
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的數(shù)據(jù)類型。$cPath_array
在代碼中作為數(shù)組實現(xiàn),但生成警告的實際值是多少。
糟糕的臨時解決方案:?降級你的 PHP 版本。

慕工程0101907
TA貢獻1887條經(jīng)驗 獲得超5個贊
您也可以使用empty()
.?它檢查變量是否為“假”。
if?(empty($cPath_array))?{?}
代替
if?(sizeof($cPath_array)?==?0)?{?}
- 3 回答
- 0 關(guān)注
- 231 瀏覽
添加回答
舉報
0/150
提交
取消