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

php json截取

周雨萌1年前6瀏覽0評論

如果你是一名php開發者,那么你一定與json有所接觸。json是一種輕量級數據交換格式,它是一種易于讀寫的格式。通常情況下,我們經常需要從一個json字符串中截取出我們需要的一部分數據,這時候就需要使用php對json進行截取操作。

首先,我們需要使用json_decode()函數將json字符串轉換成php數組。

$jsonStr = '{"name":"Tom", "age":23, "gender":"male"}';
$arr = json_decode($jsonStr, true);

這樣將得到一個關聯數組,可以通過下標獲取相應的值。如:

echo $arr['name']; //輸出Tom
echo $arr['age'];  //輸出23
echo $arr['gender']; //輸出male

但是,如果我們僅僅需要獲取到name這個字段的值呢?php中通過array_column()函數,我們可以很方便地獲取到相應的值:

$nameArr = array_column($arr, 'name');
echo $nameArr[0]; //輸出Tom

還有一種情況,當我們需要獲取json數組中某個字段的詳細信息時,我們可以使用array_filter()函數。例如我們需要獲取json數組中age字段大于20的所有詳細信息:

$jsonArr = '[{"name":"Tom", "age":23, "gender":"male"},{"name":"Lucy", "age":19, "gender":"female"},{"name":"Jack", "age":29, "gender":"male"}]';
$arr = json_decode($jsonArr, true);
//篩選出age大于20的人的數組
$ageArr = array_filter($arr, function($v){
return $v['age'] >20;
});
//獲取第一個人的姓名
echo $ageArr[0]['name']; //輸出Tom

如果我們需要將篩選出的結果重新轉成json字符串,可以使用json_encode()函數:

$newJsonArr = json_encode($ageArr);
echo $newJsonArr; //輸出[{"name":"Tom","age":23,"gender":"male"},{"name":"Jack","age":29,"gender":"male"}]

在實際應用中,也會遇到需要獲取json數組中的多個字段值,這時候可以使用數組與字符串相互轉換的方式進行截取。下面,展示一種獲取json數組中多個字段的值的方法:

$jsonArr = '[{"name":"Tom", "age":23, "gender":"male"},{"name":"Lucy", "age":19, "gender":"female"},{"name":"Jack", "age":29, "gender":"male"}]';
$arr = json_decode($jsonArr, true);
//獲取name和gender這兩個字段的值
$newArr = [];
foreach($arr as $k =>$v) {
$newArr[$k]['name'] = $v['name'];
$newArr[$k]['gender'] = $v['gender'];
}
//將新的數組轉成json字符串
$newJsonArr = json_encode($newArr);
echo $newJsonArr; //輸出[{"name":"Tom","gender":"male"},{"name":"Lucy","gender":"female"},{"name":"Jack","gender":"male"}]

以上就是幾種常見的php json截取方法,希望可以對大家有所幫助。