[請益] 從PHP7升級到PHP8後 網站出現錯誤
先感謝shadowjohn與andylamyy板友提供的解法
修改完後問題就解決了,PHP系統也升級到8.2.20了
以下是這次除錯前後的資料整理
作個紀錄當參考
起因
原本在PHP7能運行的count()程式段,在PHP8會報error
Exception: count(): Argument #1 ($value) must be of type Countable|array,
null given X:\\count_demo.php 434
434為if(count($new_TimestampTitle)>0){
報錯原因
因為count()在PHP8需要是array或是countable,否則會報TypeError
在PHP7時期只會跳warning
https://www.php.net/manual/en/function.count.php
範例檔案
https://pastebin.com/GkPQk2q3
解決方案
第一種:先作宣告
於第425行後加上以下兩條
$new_Timestamp = [];
$new_TimestampTitle = [];
第二種:加上is_countable()
將434的if(count($new_TimestampTitle)>0){
改為if (is_countable($new_TimestampTitle) && count($new_TimestampTitle) > 0) {
兩種方式執行在PHP8都不會報錯
第一種是板友的建議
第二種是ChatGPT的建議
至於兩者執行結果有什麼差別我就不懂了@@
感謝各位的協助
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.173.230 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1719315042.A.EFE.html
→
06/25 22:02,
5月前
, 1F
06/25 22:02, 1F
→
06/26 06:46,
5月前
, 2F
06/26 06:46, 2F
→
06/26 09:14,
5月前
, 3F
06/26 09:14, 3F
→
06/26 09:14,
5月前
, 4F
06/26 09:14, 4F
→
06/26 09:15,
5月前
, 5F
06/26 09:15, 5F
→
06/26 11:10,
5月前
, 6F
06/26 11:10, 6F
→
06/26 13:28,
5月前
, 7F
06/26 13:28, 7F
→
06/26 14:52,
5月前
, 8F
06/26 14:52, 8F
→
06/26 14:53,
5月前
, 9F
06/26 14:53, 9F
→
06/26 17:33,
5月前
, 10F
06/26 17:33, 10F
※ 編輯: nightwind209 (114.36.169.42 臺灣), 06/28/2024 14:36:45
PHP 近期熱門文章
PTT數位生活區 即時熱門文章