在PHP中,內建函數json_decode()函數被定義為函數;顧名思義,它是一個用於轉換任何JSON 標準文字格式物件或將JSON 物件解碼為PHP 物件的函數,將JSON 字串作為參數,該函數對其進行轉換或解碼並傳回JSON 中的編碼值到正確的PHP 物件。 PHP 通常會提供一個函數,該函數接受通常表示 JavaScript 陣列或物件文字的 JSON 字串,用於將 JSON 格式的編碼字串轉換為特定的 PHP 物件資料類型。
開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
在本文中,json_decode() 是 PHP 提供的內建函數,用於將 JSON 字串轉換或解碼為 PHP 物件。 在 PHP 中,json_decode()
函數解碼 JSON 字串並將其轉換為 PHP 物件或資料類型。它將 JSON 資料作為參數並傳回相應的 PHP 表示。
在下面的部分中,我們將看到使用 json_decode() 函數的語法和範例:
文法:
json_decode(json_string, asso_arr, recur_depth, opt<em>)</em>
參數:
Json_string:此參數為必填項,用於指定 JSON 編碼的字串以將其轉換為 PHP 物件
現在讓我們來看一個在 HTML 結構中使用 PHP 的 json_decode() 的簡單範例。
以下是範例:
代碼:
<!DOCTYPE html> <html lang="en"> <head> <title>Educba- PHP json_decode</title> </head> <body> <?php $json_string = '{ "CompayName": "Educba", "Director": "Snehal", "Employee": "Amardeep", "address": { "ColonyName": "Shivaji road", "city": "Baramati", "state": "Maharashtra", "postalCode": "1234567" }, "TelephoneNumbers": [ { "type": "Work", "phonenumber": "9876543210" } ] }'; var_dump(json_decode($json_string, true)); ?> </body> </html>
輸出:
在上面的程式中,我們可以看到當我們在HTML結構中編寫PHP程式碼時;我們從“”。它有一個陣列(5),這意味著數組中有 5 個元素。假設我們沒有設定任何內容或沒有傳遞 asso_arr 參數,例如「var_dump(json_decode($json_string));」那麼這個值將使我們能夠存取數組中物件的屬性,如下面的螢幕截圖所示。
現在我們將看到下面的範例:無效的 JSON 格式並將該字串傳遞給 json_decode() 函數以及它將給出什麼錯誤和輸出。我們還將看到如何列印這些數組,可以使用下一節中的“echo”函數存取這些數組。
在下面的程式中,我們將了解如何使用 echo 函數存取陣列的元素。
代碼:
<!DOCTYPE html> <html lang="en"> <head> <title>Educba- PHP json_decode</title> </head> <body> <?php $json_string = '[ { "Companyname": "Educba", "Director": "Snehal", "phnumber": "89945954874" }, { "Companyname": "Google", "Director": "Ann", "phnumber": "9877564694" } ]'; $x = json_decode($json_string); echo $x[0]->Companyname; ?> </body> </html>
輸出:
在上面的程式中,我們可以看到當我們聲明了一個 json_string 並訪問了數組中的任何元素時;我們在任何程式語言中都使用數組[index]。類似地,我們用echo函數來編寫它,在上面的程式碼中,我們必須觀察到我們沒有在json_decode()函數中傳遞asso_arr參數,因此要存取該元素,我們必須編寫“echo $x[ 0]- >公司名稱;”如果我們將第二個參數設為“true”,那麼我們必須編寫“echo $x[0]['Companyname'];”。
在下面,我們將看到將無效的 JSON 字串傳遞給函數並嘗試列印錯誤。
代碼:
<!DOCTYPE html> <html lang="en"> <head> <title>Educba- PHP json_decode</title> </head> <body> <?php $json_string = '[ { "Companyname": "Educba" "Director": "Snehal" "phnumber": "89945954874" "Companyname": "Google" "Director": "Ann" "phnumber": "9877564694" } ]'; $x = json_decode($json_string); echo $x[0]->Companyname; echo json_last_error(); echo json_last_error_msg(); ?> </body> </html>
輸出:
我們使用 json_last_error() 和 json_last_error_msg() 函數列印錯誤訊息,例如「4 個語法錯誤」。這些函數提供了與上例中編寫的 PHP 程式碼相關的錯誤的詳細資訊。如果我們不想使用錯誤函數列印任何錯誤訊息,則輸出將為“null”,表示轉換後的 PHP 物件或 JSON 資料本身無效。
以上是PHP json_解碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!