在現代Web開發中,基於JavaScript的前端程式使用JSON(JavaScript Object Notation)格式資料已成為常規選擇。而 PHP 則是一種常見的伺服器端程式語言。常常我們需要在伺服器端將PHP物件或陣列轉換為JSON格式字串,以方便前端呼叫。在本文中,將介紹如何在 PHP 中將物件陣列轉換為 JSON 字串陣列。
- 使用json_encode() 函數
PHP中內建了json_encode()函數,該函數可以將PHP 的陣列和物件轉換為JSON 格式字串,如下所顯示:
<?php $array = array('name' => '张三', 'age' => 18, 'gender' => 'male'); echo json_encode($array); ?>
運行結果:
{"name":"张三","age":18,"gender":"male"}
在這個範例中我們可以看到,當將PHP陣列傳入json_encode()函數時能夠傳回一個已編碼的JSON格式字串。這裡要注意:json_encode()函數只支援UTF-8編碼格式,如果你的字串所使用的編碼格式不是UTF-8則會發生錯誤。因此,在使用json_encode()函數之前,請確保需要轉換的陣列或物件已轉換為 UTF-8 格式。
- 物件數組的JSON格式化
如果需要將物件數組轉換為JSON 字串數組,則需要將物件轉換為數組,並使用json_encode()函數進行處理。舉例來說,我們需要將表示學生資訊的物件陣列轉換為JSON 格式字串陣列:
<?php class Student{ public $name; public $age; public $gender; } $student1 = new Student(); $student1->name = '张三'; $student1->age = 18; $student1->gender = 'male'; $student2 = new Student(); $student2->name = '李四'; $student2->age = 19; $student2->gender = 'female'; $students = array(); array_push($students,$student1,$student2); $students_arr = array(); foreach($students as $student){ $obj = get_object_vars($student); array_push($students_arr,$obj); } echo json_encode($students_arr); ?>
運行結果:
[{"name":"张三","age":18,"gender":"male"},{"name":"李四","age":19,"gender":"female"}]
在上面的範例中,我們建立了一個可以表示學生資訊的Student 類,並用陣列儲存多個Student 物件。在將 Student 物件轉換為陣列時,使用了 get_object_vars() 函數。這個函數可以將物件轉換為一個關聯數組,使我們可以像處理數組一樣處理物件。最後將陣列傳給json_encode()函數,將結果輸出即可。
同時,為了更好的輔助理解,我們也可以將上述範例轉換為更直覺的形式,如下圖所示:
- JSON_PRETTY_PRINT選項
透過上面的兩個例子,您已經了解到如何將PHP物件或陣列轉換為JSON格式字串陣列。但是,乍看之下這些JSON格式字串陣列看起來有些難以閱讀。為了美化JSON 資料格式,你可以使用json_encode()函數的第二個參數:JSON_PRETTY_PRINT選擇,如下所示:
<?php $array = array('name' => '张三', 'age' => 18, 'gender' => 'male'); echo json_encode($array,JSON_PRETTY_PRINT); ?>
運行結果:
{ "name": "张三", "age": 18, "gender": "male" }
這就是使用JSON_PRETTY_PRINT選項後的輸出結果,更清晰易讀。
在這篇文章中,我們介紹如何在 PHP 中將物件陣列轉換為 JSON 字串陣列。這是我們進行前後端互動的重要一步,再結合前端的 JSON 解析工具,能夠輕易地將資料轉換為各個網站所需的格式。
以上是php物件數組怎麼轉換為json字串數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文比較了酸和基本數據庫模型,詳細介紹了它們的特徵和適當的用例。酸優先確定數據完整性和一致性,適合財務和電子商務應用程序,而基礎則側重於可用性和

本文討論了確保PHP文件上傳的確保,以防止諸如代碼注入之類的漏洞。它專注於文件類型驗證,安全存儲和錯誤處理以增強應用程序安全性。

本文討論了在PHP中實施API速率限制的策略,包括諸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之類的庫。它還涵蓋監視,動態調整速率限制和手

本文討論了使用password_hash和pyspasswify在PHP中使用密碼的好處。主要論點是,這些功能通過自動鹽,強大的哈希算法和SECH來增強密碼保護

本文討論了OWASP在PHP和緩解策略中的十大漏洞。關鍵問題包括注射,驗證損壞和XSS,並提供用於監視和保護PHP應用程序的推薦工具。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

禪工作室 13.0.1
強大的PHP整合開發環境

WebStorm Mac版
好用的JavaScript開發工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 Linux新版
SublimeText3 Linux最新版

記事本++7.3.1
好用且免費的程式碼編輯器