PHP 常用的一種數據格式是 JSON,可以方便地把數據轉換成字符串、進行傳輸或保存。
實際上,JSON 是一種數據交換格式。它由 ECMAScript 所規范,但是其他語言也能夠以 JSON 的形式生成和解析數據,例如 PHP。
下面是一個簡單的 PHP 數組,用 JSON 編碼轉換成字符串:
$data = array( 'name' =>'Kobe Bryant', 'team' =>'Los Angeles Lakers', 'number' =>24 ); echo json_encode($data);
輸出的結果將會是:
{"name":"Kobe Bryant","team":"Los Angeles Lakers","number":24}
可以看出,JSON 編碼是把 PHP 變量轉換成一個字符串。字符串中的每一項都是由鍵和值組成,用冒號分隔。每一項也用逗號分隔。
在上面的例子中,"name"、"team" 和 "number" 是每一項中的鍵,"Kobe Bryant"、"Los Angeles Lakers" 和 24 是每一項中的值。
下面再來一個例子。假設我們從數據庫中查詢了一些數據,然后把它們轉換成 JSON 格式:
$query = "SELECT * FROM users"; $result = mysqli_query($connection, $query); $users = array(); while ($row = mysqli_fetch_assoc($result)) { $users[] = $row; } echo json_encode($users);
上述代碼通過 mysqli_query() 函數從數據庫中查詢了所有用戶的信息。然后它將每一行的結果賦給了一個數組。最后用 json_encode() 函數把整個數組轉換成了 JSON 格式。
此時,$users 變量的值就是一個 JSON 字符串,里面包含了所有的用戶信息。
在 PHP 中,可以使用 json_decode() 函數把 JSON 字符串轉換成 PHP 變量。例如:
$json = '{"name":"Kobe Bryant","team":"Los Angeles Lakers","number":24}'; $data = json_decode($json); echo $data->name; // 將輸出 "Kobe Bryant"
上述代碼通過 json_decode() 函數把 JSON 字符串轉換成了一個 PHP 對象。然后,就可以像訪問對象屬性一樣,訪問其中的鍵/值對。例如,$data->name 會輸出 "Kobe Bryant"。
JSON 的應用非常廣泛。在 Web 應用中,常用 JSON 來進行數據的傳輸;在移動應用中,也經常使用 JSON 進行數據的交互。因此,深入了解 JSON 的相關技術,對于職業開發者來說至關重要。