Visibility "private" not throwing an error

class A
{
    public $name;
    protected $surname;
    private $location;
    function __construct()
    {
        $this->name = "Shyam";
        $this->surname = "Bhattacharyya";
        $this->location = "Hooghly";
        echo "<br>Your name is $this->name $this->surname and are from $this->location";
    }
}
class B extends A
{
    function changeValue()
    {
        $this->name = "Sreya";
        $this->surname = "Bhattacharyya";
        $this->location = "Hooghly";
        echo "<br>Your name is $this->name $this->surname and are from $this->location";
    }
    function changeValueAgain()
    {
        echo "<br>Your name is $this->name $this->surname and are from $this->location";
    }
}
//Task-3
$obj2 = new B;
$obj2->name = "Rahul";
// $obj2->surname = "Das"; //Error thrown as expected for protected property
$obj2->location = "Kolkata";	//Here no error is throwing while updating the location. Why is this happening for a private property?
$obj2->changeValueAgain();
$obj2->changeValue();

Check my question written as comment on the third line from the bottom.