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

php json添加

當(dāng)前,隨著前后端分離的趨勢(shì),json數(shù)據(jù)的操作變得越來(lái)越重要。在php中,處理json數(shù)據(jù)也變得十分簡(jiǎn)單,我們不僅可以解析json,還可以對(duì)其進(jìn)行修改等操作。在本文中,我們將重點(diǎn)介紹php json數(shù)據(jù)添加的方法,為php開(kāi)發(fā)者提供幫助。

以一個(gè)例子來(lái)說(shuō)明,在一個(gè)新的json文件中添加一組數(shù)據(jù),例如添加一組學(xué)生信息:

{
"class": "三年級(jí)二班",
"students": [
{
"name": "張三",
"score": 95
},
{
"name": "李四",
"score": 87
}
]
}

現(xiàn)在,我們需要添加一個(gè)學(xué)生成績(jī)更高的學(xué)生信息,“王五”,成績(jī)“98”。在php中,首先我們應(yīng)該讀取該json文件中的數(shù)據(jù),然后對(duì)其進(jìn)行添加。代碼如下:

$file = 'data.json';
$data = file_get_contents($file);
$json = json_decode($data, true);
$json['students'][] = array('name' =>'王五', 'score' =>98);
$new_data = json_encode($json, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
file_put_contents($file, $new_data);

解釋一下上面的代碼內(nèi)容,首先我們通過(guò)“file_get_contents”讀取json文件中的數(shù)據(jù),然后使用“json_decode”將其轉(zhuǎn)換成php數(shù)組。接著,我們使用數(shù)組的方式添加一個(gè)新的數(shù)據(jù),通過(guò)“json_encode”將數(shù)組轉(zhuǎn)換成json格式的字符串,并使用“file_put_contents”將該字符串寫(xiě)入到原json文件中。

此時(shí),查看該json文件,可以看到新增的學(xué)生信息已成功添加。

{
"class": "三年級(jí)二班",
"students": [
{
"name": "張三",
"score": 95
},
{
"name": "李四",
"score": 87
},
{
"name": "王五",
"score": 98
}
]
}

除了以上的添加方式,還有其他多種添加json數(shù)據(jù)的方法,下面將會(huì)列舉幾個(gè)比較常用的方法。

1.通過(guò)修改數(shù)組方式添加數(shù)據(jù)。如下:

$data_arr = json_decode($data, true);
$data_arr['students'][] = array('name' =>'王五', 'score' =>98);
$new_data = json_encode($data_arr);

2.通過(guò)對(duì)象方式添加數(shù)據(jù),在json字符串轉(zhuǎn)化為對(duì)象后,直接對(duì)其進(jìn)行屬性的新增。如下:

$obj = json_decode($json, false);
$obj->students[] = array('name' =>'王五', 'score' =>98);
$new_json = json_encode($obj);

3.通過(guò)“array_push”函數(shù)向json數(shù)組中添加數(shù)據(jù),如下:

$json = json_decode($data, true);
array_push($json['students'], array('name' =>'王五', 'score' =>98));
$new_data = json_encode($json);

總結(jié):

在php中操作json數(shù)據(jù)是一個(gè)十分常見(jiàn)的操作,本文主要介紹了json數(shù)據(jù)添加的方法,并且對(duì)于三種常用的添加方式進(jìn)行了介紹,希望對(duì)php開(kāi)發(fā)者有所幫助。