It is interesting observation,(all comments are wrong,too)
error_reporting(E_ALL);
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
class Test
{
public $prop = null;
}
$temp = new Test();
var_dump($temp->prop);
$variable = null;
var_dump($variable['test']);
the code above will not render issues either, even when forcing error reporting.
My guess is the non-existing key warning is only meant for arrays, and not nulls.
Truth is, I cannot fin WHY exactly this is nor reported, but then again I cannot find any real reason why anyone would do this kind of implementation (and maybe that's the reason the warning is not shown).
When you need the particular element to require a specific key, your best shot is implementing a ValueObject design pattern and not array with a key.