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

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

stripos():傳遞字符串字符時的非字符串針警告

stripos():傳遞字符串字符時的非字符串針警告

PHP
藍山帝景 2022-06-17 10:16:06
將我的服務器升級到 PHP 7.3 后,我開始看到以下警告:PHP 已棄用:stripos():將來非字符串指針將被解釋為字符串。使用顯式 chr() 調用來保留當前行為...參考以下代碼: if (stripos($checkforcomma, "," !== 0))為什么它將逗號視為字符串字符以外的東西?按照錯誤消息中的建議,chr(44) 將輸出一個逗號,事實上,當我將 "," 換成 chr(44) 時,會生成完全相同的錯誤消息。
查看完整描述

1 回答

?
Helenr

TA貢獻1780條經驗 獲得超4個贊

正如 Jeto 對您的問題所評論的那樣,解決此問題的方法是將錯字更正為

if (stripos($checkforcomma, ",") !== 0)

我認為值得指出的是,修復此錯字以停止棄用通知將改變您的程序的工作方式。使用當前代碼,即使沒有警告,它也沒有做它打算做的事情。

您正在有效地檢查chr(1)字符串而不是逗號,因為"," != 0計算結果為true,它將被轉換為 int 1 以在 stripos 中使用。

除非您有時在某些字符串chr(1)中間有 a ,否則應該在其中發生的任何事情都不會發生,因此在您修復錯字之后,您的程序將更有可能執行以前可能從未運行過的代碼。假設在此之前一切看起來都正常工作,那可能會導致其他問題。$checkforcommaif

您可能已經意識到這種可能性,但我認為為將來可能遇到類似問題的人添加一點警告可能會有所幫助。


查看完整回答
反對 回復 2022-06-17
  • 1 回答
  • 0 關注
  • 103 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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