Php 如果json数据满足某些条件,我如何更新它?
我的json数据如下所示:Php 如果json数据满足某些条件,我如何更新它?,php,arrays,json,Php,Arrays,Json,我的json数据如下所示: $json_data = '{"2": "1", "3": "3"}'; $user = 3; $star = 4; <?php $user = 3; $star = 4; $json_data = '{"2": "1", "3": "3"}'; $array_data = json_decode($json_data, true); if(in_array($user, $array_data)) {
$json_data = '{"2": "1", "3": "3"}';
$user = 3;
$star = 4;
<?php
$user = 3;
$star = 4;
$json_data = '{"2": "1", "3": "3"}';
$array_data = json_decode($json_data, true);
if(in_array($user, $array_data))
{
// update here
}
?>
注:
2=星,
1=用户,
3=星,
3=用户
如果我有这样的变量:
$json_data = '{"2": "1", "3": "3"}';
$user = 3;
$star = 4;
<?php
$user = 3;
$star = 4;
$json_data = '{"2": "1", "3": "3"}';
$array_data = json_decode($json_data, true);
if(in_array($user, $array_data))
{
// update here
}
?>
我想检查变量$user
是否存在于$json\u data
中
如果存在,将更新为:
$json_data = '{"2": "1", "4": "3"}';
因此,如果$user
存在于$json_data
中,它将更新$star
我试着这样:
$json_data = '{"2": "1", "3": "3"}';
$user = 3;
$star = 4;
<?php
$user = 3;
$star = 4;
$json_data = '{"2": "1", "3": "3"}';
$array_data = json_decode($json_data, true);
if(in_array($user, $array_data))
{
// update here
}
?>
我还是很困惑,怎么更新呢
是否有人可以帮助我?您应该使用检查$user
是否存在,如果存在,它将返回数组索引
$key = array_search($user, $array_data); // Returns 3 i.e array key where $user exists
if ($key !== false) {
$array_data[$star] = $array_data[$key]; // If key found, set value to $array_data[4]
unset($array_data[$key]); // Remove the previous data $array_data[3]
}
echo json_encode($array_data);
输出:
{"2":"1","4":"3"}
我认为这段代码可以帮助您解决查询
PHP代码
您想更新$star
?您只需,$start={new_value}
为其指定一个新值?检查此项您可能希望从学习数据结构开始。在json中使用这样的代理键很麻烦