首頁 後端開發 php教程 PHP JSON 操作

PHP JSON 操作

Aug 08, 2016 am 09:31 AM
decode gt json nbsp

       由於JSON可以在多種程式語言中使用,所以我們可以用來做小型資料中轉,如:PHP輸出JSON字串供JavaScript使用等。在PHP中可以使用 json_decode() 由一串規範的字串解析出 JSON對象,使用 json_encode() 由JSON 物件產生一串規範的字串。

例:

$json = '{"a":1, "b":2, "c":3, "d":4, "e":5 }';

var_dump(json_decode($json));

var_dump(json_decode($json,true));

輸出:

["a"] => int(1)["b"] => int(2)
["c"] => int(3)
[ "d"] => int(4)
["e"] => int(5)
}
array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}

$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);

echo json_encode($arr);

輸出:

{"a":1,"b":2,"c":3,"d":4,"e":5}

1. json_decode(),字元轉JSON,一般用在接收到Javascript 發送的資料時會用到。

$s='{"webname":"homehf","url":"www.homehf.com","contact":{"qq":"744348666","mail":"nieweihf @163.com","xx":"xxxxxxx"}}';$web=json_decode($s);
echo '網站名稱:'.$web->webname.'
網址:'. $web->url.'
聯絡方式:QQ-'.$web->contact->qq.' MAIL:'.$web->contact->mail;
?>

上面的例子中,我們先定義了一個變數s,然後用json_decode()解析成JSON對象,之後可以按照JSON的方式去使用,從使用情況看,JSON和XML以及數組實現的功能類似,都可以儲存一些彼此之間存在關係的數據,但是個人覺得JSON比較容易使用,而且可以使用JSON和JavaScript實作資料共享。

2. json_encode(),JSON轉字符,這個一般在AJAX 應用中,為了將JSON對象轉化成字符串並輸出給 Javascript 時會用到,而向數據庫中存儲時也會用到。

$s='{"webname":"homehf","url":"www.homehf.com","contact":{"qq":"744348666","mail":"nieweihf @163.com","xx":"xxxxxxx"}}';$web=json_decode($s);
echo json_encode($web);
?>

二 .PHP JSON 轉數組

$s='{"webname":"homehf","url":"www.homehf.com","qq":"744348666"}';$web=json_decode($s) ; //將字元轉成JSON
$arr=array();
foreach($web as $k=>$w) $arr[$k]=$w;
print_r($arr);
?>

上面的程式碼中,已經將一個JSON物件轉成了一個數組,可是如果是巢狀的JSON,上面的程式碼顯然無能為力了,那麼我們寫一個函數解決巢狀JSON,

$s='{"webname":"homehf","url":"www.homehf.com","contact":{"qq":"744348666","mail":"nieweihf @163.com","xx":"xxxxxxx"}}';$web=json_decode($s);
$arr=json_to_array($w​​eb);
print_r($arr);
function json_array($w​​eb ){
$arr=array();
foreach($web as $k=>$w){
    if(is_object($w)) $arr[$k]=json_to_array($w​​); //判斷型別類型是否為object
    else $arr[$k]=$w;
}
return $arr;
}
?>

以上就介紹了PHP JSON 操作,包括了方面的內容,希望對PHP教程有興趣的朋友有幫助。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

10種在 Windows 11 上調整亮度的方法 10種在 Windows 11 上調整亮度的方法 Dec 18, 2023 pm 02:21 PM

螢幕亮度是使用現代計算設備不可或缺的一部分,尤其是當您長時間注視螢幕時。它可以幫助您減輕眼睛疲勞,提高易讀性,並輕鬆有效地查看內容。但是,根據您的設置,有時很難管理亮度,尤其是在具有新UI更改的Windows11上。如果您在調整亮度時遇到問題,以下是在Windows11上管理亮度的所有方法。如何在Windows11上變更亮度[10種方式解釋]單一顯示器使用者可以使用下列方法在Windows11上調整亮度。這包括使用單一顯示器的桌上型電腦系統以及筆記型電腦。讓我們開始吧。方法1:使用操作中心操作中心是訪問

華為GT3 Pro和GT4的差異是什麼? 華為GT3 Pro和GT4的差異是什麼? Dec 29, 2023 pm 02:27 PM

許多用戶在選擇智慧型手錶的時候都會選擇的華為的品牌,其中華為GT3pro和GT4都是非常熱門的選擇,不少用戶都很好奇華為GT3pro和GT4有什麼區別,下面就給大家介紹一下二者。華為GT3pro和GT4有什麼差別一、外觀GT4:46mm和41mm,材質是玻璃鏡板+不鏽鋼機身+高分纖維後殼。 GT3pro:46.6mm和42.9mm,材質是藍寶石玻璃鏡+鈦金屬機身/陶瓷機身+陶瓷後殼二、健康GT4:採用最新的華為Truseen5.5+演算法,結果會更加的精準。 GT3pro:多了ECG心電圖和血管及安

如何在Safari中關閉iPhone的隱私瀏覽身份驗證? 如何在Safari中關閉iPhone的隱私瀏覽身份驗證? Nov 29, 2023 pm 11:21 PM

在iOS17中,Apple為其行動作業系統引入了幾項新的隱私和安全功能,其中之一是能夠要求對Safari中的隱私瀏覽標籤進行二次身份驗證。以下是它的工作原理以及如何將其關閉。在執行iOS17或iPadOS17的iPhone或iPad上,如果您在Safari瀏覽器中開啟了任何「無痕瀏覽」標籤頁,然後退出會話或App,Apple的瀏覽器現在需要面容ID/觸控ID認證或密碼才能再次訪問它們。換句話說,如果有人在解鎖您的iPhone或iPad時拿到了它,他們仍然無法在不知道您的密碼的情況下查看您的隱私

golang WebSocket與JSON的結合:實現資料傳輸與解析 golang WebSocket與JSON的結合:實現資料傳輸與解析 Dec 17, 2023 pm 03:06 PM

golangWebSocket與JSON的結合:實現資料傳輸和解析在現代的Web開發中,即時資料傳輸變得越來越重要。 WebSocket是一種用於實現雙向通訊的協議,與傳統的HTTP請求-回應模型不同,WebSocket允許伺服器向客戶端主動推送資料。而JSON(JavaScriptObjectNotation)是一種用於資料交換的輕量級格式,它簡潔易讀

Oracle DECODE函數的高階用法及技巧分享 Oracle DECODE函數的高階用法及技巧分享 Mar 08, 2024 am 10:30 AM

Oracle資料庫中的DECODE函數是一個非常常用的函數,它可以根據一個表達式的結果值在一組值中進行選擇。 DECODE函數的語法如下:DECODE(expression,search_value1,result1,search_value2,result2,...,default_result)其中,expression是要進行比較的表達式,s

PHP 數組轉 JSON 的效能最佳化技巧 PHP 數組轉 JSON 的效能最佳化技巧 May 04, 2024 pm 06:15 PM

PHP數組轉JSON的效能最佳化方法包括:使用JSON擴充和json_encode()函數;新增JSON_UNESCAPED_UNICODE選項以避免字元轉義;使用緩衝區提高循環編碼效能;快取JSON編碼結果;考慮使用第三方JSON編碼庫。

MySQL5.7和MySQL8.0的差別是什麼? MySQL5.7和MySQL8.0的差別是什麼? Feb 19, 2024 am 11:21 AM

MySQL5.7和MySQL8.0是兩個不同的MySQL資料庫版本,它們之間有以下一些主要差異:效能改進:MySQL8.0相對於MySQL5.7有一些效能改進。其中包括更好的查詢優化器、更有效率的查詢執行計劃產生、更好的索引演算法和平行查詢等。這些改進可以提高查詢效能和整體系統效能。 JSON支援:MySQL8.0引入了對JSON資料類型的原生支持,包括JSON資料的儲存、查詢和索引。這使得在MySQL中處理和操作JSON資料變得更加方便和有效率。事務特性:MySQL8.0引進了一些新的事務特性,如原子

Oracle DECODE函數詳解及用法範例 Oracle DECODE函數詳解及用法範例 Mar 08, 2024 pm 03:51 PM

Oracle中的DECODE函數是一種條件式,常用於在查詢語句中根據不同的條件傳回不同的結果。本文將詳細介紹DECODE函數的語法、用法和範例程式碼。一、DECODE函數語法DECODE(expr,search1,result1[,search2,result2,...,default])expr:要進行比較的表達式或欄位。 search1,

See all articles