色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

php echo jsonencode

李中冰1年前9瀏覽0評論
今天我們來聊一下關(guān)于php中echo json_encode()的用法和作用。json_encode()函數(shù)是將PHP變量轉(zhuǎn)化為JSON格式的字符串,而echo用于輸出JSON格式的字符串,將其返回到客戶端(前端)。這個函數(shù)通常用于將PHP程序中獲取到的數(shù)據(jù)傳輸給JavaScript,再由JavaScript進行語言翻譯以便進行后續(xù)操作。下面,我們來具體看一下這個函數(shù)的應(yīng)用和語法。 首先,我們來看一個簡單的例子:
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
echo json_encode($age);
輸出結(jié)果如下:
{"Peter":"35","Ben":"37","Joe":"43"}
我們發(fā)現(xiàn),PHP數(shù)組已經(jīng)成功地被轉(zhuǎn)化為了一串JSON格式的字符串,其中的數(shù)組元素被構(gòu)造成了鍵值對的形式。這個例子中,我們成功用echo和json_encode()函數(shù)將PHP變量轉(zhuǎn)化為一個JSON字符串并返回到了客戶端中。 接下來,我們看一下當(dāng)數(shù)組元素中包含了中文字符時,該如何解決。如果直接用echo和json_encode()函數(shù)輸出字符串,很可能會出現(xiàn)亂碼,而使用UTF-8編碼也不能完全解決問題。解決的方法是,在數(shù)組轉(zhuǎn)化之前,先將中文字符進行編碼,再將編碼后的字符進行解碼。這個過程中,我們可以使用urlencode()和urldecode()函數(shù),分別用于編碼和解碼。 例如我們現(xiàn)在要輸出以下這個數(shù)組:
$age = array("Peter"=>"35", "Ben"=>"37", "Jonny"=>"是個好鍋");
echo json_encode($age);
直接輸出json_encode($age)函數(shù)的結(jié)果是:
{"Peter":"35","Ben":"37","Jonny":"\u662f\u4e2a\u597d\u9505"}
這樣的結(jié)果肯定無法滿足我們的需求。接下來我們看看urlencode()和urldecode()函數(shù)的使用方法來改善這個結(jié)果。
$age = array("Peter"=>"35", "Ben"=>"37", "Jonny"=>"是個好鍋");
foreach($age as $key=>$value) {
$age[$key] = urlencode($value);
}
echo urldecode(json_encode($age));
輸出結(jié)果為:
{"Peter":"35","Ben":"37","Jonny":"是個好鍋"}
我們已經(jīng)成功地將含有中文字符的數(shù)組轉(zhuǎn)化為了JSON格式的字符串并輸出到客戶端中。 最后,我們來看一下在處理對象時json_encode()函數(shù)的使用方法。在處理對象時,json_encode()函數(shù)可以將對象轉(zhuǎn)化為JSON格式的字符串并輸出到客戶端中。例如:
class Person {
public $name = '';
public $age = '';
public $sex = '';
}
$person = new Person();
$person->name = 'Tom';
$person->age = 24;
$person->sex = 'Male';
echo json_encode($person);
輸出結(jié)果為:
{"name":"Tom","age":24,"sex":"Male"}
我們可以看到,json_encode()函數(shù)同樣可以將對象轉(zhuǎn)化為JSON格式的字符串,對象中的屬性值被轉(zhuǎn)化為了JSON鍵值對中的值,便于后續(xù)的處理。