php空數組轉json物件的方法:1、使用「JSON_FORCE_OBJECT」轉json物件;2、使用資料型別轉換將空數組轉json物件;3、使用ArrayObject將空數組轉json物件。
本文操作環境:Windows7系統、PHP7.1版,DELL G3電腦
PHP json_encode轉換空數組為物件
問題描述:
php在給端提供接口,例如PC和安卓,ios等,如果返回json格式的數據,當返回數據的為數組,且key為字串時,json化後會回傳jsonObject,但如果是空數組,有可能回傳的就是jsonArray,資料結構不一致導致端解析json失敗。
如:
$arr = [ 'id' => 123., 'name' => 'andrew' , ]; $jsonRet = json_encode( $arr ); print_r( $jsonRet );
輸出:
{ "id": 123, "name": "andrew" }
但是如果是:
$arr = []; $jsonRet = json_encode($arr); print_r($jsonRet);
輸出:
[ ]
如何在陣列為空時也是JsonObject呢?
方法一:
使用JSON_FORCE_OBJECT
$arr = []; $jsonRet = json_encode($arr, JSON_FORCE_OBJECT); print_r($jsonRet);
此法有一弊端,eg:
$arr = [ 'jsonArray' => [ '21', '12', '13' ], 'jsonObject' => [] ]; $jsonRet = json_encode($arr,JSON_FORCE_OBJECT); print_r($jsonRet);
#輸出:
{ "jsonArray": { "0": "21", "1": "12", "2": "13" }, "jsonObject": { } }
原本jsonArray的也被jsonObject化了,局部的改變不能影響全域
#方法二
使用資料型別轉換
$bar = array(); $foo = (object)$bar; echo json_encode($foo);
#方法三(推薦)
使用ArrayObject
$arr = [ 'jsonArray' => [ '21', '12', '13' ], 'jsonObject' => new \ArrayObject() ]; $jsonRet = json_encode($arr); print_r($jsonRet);
輸出:
{ "jsonArray": [ "21", "12", "13" ], "jsonObject": { } }
【推薦學習:PHP影片教學】
以上是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 無盡。

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版
SublimeText3 Linux最新版

Dreamweaver Mac版
視覺化網頁開發工具