json_encode 字串與數字
使用 PHP json_encode 函數時,您可能會遇到數字被編碼為字串的問題。使用 JavaScript 時,這可能會導致意外行為,因為字串不能用於數值運算。
理解問題
例如,如果您有一個像這樣的數組this:
json_encode 將輸出以下JSON string:
請注意,id屬性用引號引起來,表示字串值。當 JavaScript 遇到此字串時,它會這樣解釋它,並且對其執行的任何數值計算都會失敗。
防止字串編碼
要解決此問題,您可以使用呼叫 json_encode 時的 JSON_NUMERIC_CHECK 標誌。該標誌指示 PHP 在編碼之前自動將數字轉換為數值。
這將輸出:
使用JSON_NUMERIC_CHECK 標誌,row_id 屬性現在是一個真正的數字,使您能夠在JavaScript 中對其執行數值運算,沒有任何問題。
以上是為什麼「json_encode」有時會以字串形式傳回數字,如何防止這種情況發生?的詳細內容。更多資訊請關注PHP中文網其他相關文章!