PHP 陣列可透過json_encode() 函數轉換為JSON 字串(例如:$json = json_encode($array);),反之亦可用json_decode() 函數從JSON 轉換為陣列($array = json_decode($json );)。其他技巧還包括:避免深度轉換、指定自訂選項以及使用第三方程式庫。
PHP 陣列轉JSON - 快速技巧
介紹
在PHP 中,數組是一種廣泛應用的資料結構,而JSON(JavaScript Object Notation)是一種輕量級的資料格式,常用於在Web 應用程式中傳輸資料。了解如何將 PHP 陣列快速轉換為 JSON 非常重要。
JSON_encode() 函數
最簡單的方法是使用json_encode()
函數,它接受一個PHP 陣列並將其轉換為JSON字串:
$array = ['name' => 'John Doe', 'age' => 30]; $json = json_encode($array); echo $json; // 输出:{"name":"John Doe","age":30}
json_decode() 函數
為了執行相反的操作(從JSON 字串轉換為PHP 陣列),可以使用json_decode()
函數:
$json = '{"name":"John Doe","age":30}'; $array = json_decode($json, true); var_dump($array); // 输出:array(2) { ["name"]=> string(7) "John Doe" ["age"]=> int(30) }
傳遞true
作為第二個參數可將JSON 物件轉換為關聯數組,而不是物件。
其他技巧
JSON_UNESCAPED_SLASHES
和JSON_UNESCAPED_UNICODE
標誌防止對反斜線和Unicode 字元進行轉義。 json_encode()
函數可讓您指定其他選項,例如格式化輸出、忽略空值等。 symfony/json-component
。 實戰案例
考慮一個使用者資料 API,該 API 需要將使用者資料從資料庫轉換為 JSON 格式,以透過 AJAX 傳送到前端。
// 从数据库获取用户数据 $users = $db->select('users', '*'); // 创建用户数组 $user_array = []; foreach ($users as $user) { $user_array[] = [ 'id' => $user['id'], 'name' => $user['name'], 'email' => $user['email'] ]; } // 转换数组为 JSON $json = json_encode($user_array); // 返回 JSON 响应 header('Content-Type: application/json'); echo $json;
該腳本從資料庫中檢索使用者數據,並使用 json_encode()
將其轉換為 JSON 字串。然後將 JSON 回應傳回給前端。
以上是PHP 數組轉 JSON 的快捷技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!