使用php从json中删除

cod*_*ute 0 php json

我当前的json代码:

{"Results":[{"username":"test","password":"test"},{"username":"test","password":"test"},{"username":"google","password":"test"},{"username":"yahoo","password":"test"},{"username":"hotmail","password":"test"}]}
Run Code Online (Sandbox Code Playgroud)

我想删除这个:

{"username":"google","password":"test"}
Run Code Online (Sandbox Code Playgroud)

从使用PHP的代码.我尝试通过解码json到数组来删除但不能完成它.任何解决方案

jon*_*ohn 6

$json_obj = json_decode($json_string);
$unset_queue = array();

foreach ( $json_obj->Results as $i => $item )
{
    if ($item->username == "google")
    {
        $unset_queue[] = $i;
    }
}

foreach ( $unset_queue as $index )
{
    unset($json_obj->Results[$index]);
}

// rebase the array
$json_obj->Results = array_values($json_obj->Results);

$new_json_string = json_encode($json_obj);
Run Code Online (Sandbox Code Playgroud)