如果满足特定条件,如何更新json数据?

时间:2017-03-09 04:24:44

标签: php arrays json

我的json数据是这样的:

$json_data = '{"2": "1", "3": "3"}';

注意:

  

2 =明星,   1 =用户,   3 =明星,   3 =用户

如果我有这样的变量:

$user = 3;
$star = 4;

我希望$user中存在检查变量$json_data或不存在

如果存在,它将更新为:

$json_data = '{"2": "1", "4": "3"}';

因此,如果$user中存在$json_data,则会更新$star

我试着这样:

<?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 个答案:

答案 0 :(得分:2)

您应该使用array_search()来检查@media screen and (max-width:999px) { .et_pb_section_video_bg { background-image:url("/wp-content/uploads/2017/02/Old-Instrument-Broken-Abandoned-Wrecked-Piano-Dark.jpg"); background-size: cover; } #mep_0 { display: none; } } 是否存在,如果存在,它将返回数组索引。

$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);

答案 1 :(得分:0)

我认为此代码可以帮助您解决查询

  

PHP代码

<?php
$result = array();
$json_data = '{"2": "1", "3": "3"}';
$user = 3;
$star = 4;
$dataArray = json_decode($json_data, true);
foreach($dataArray as $key=>$val) {
    if($val == $user) {
        $result[$star] = $val ;
    } else {
        $result[$key] = $val ;
    }
}
echo "<pre>";
print_r (json_encode($result));
?>