PHP autovivification

Update: Minha intenção original para esta pergunta era determinar se o PHP realmente tem esse recurso. Isso foi perdido no foco das respostas na questão escalar. Por favor, veja esta nova pergunta: "O PHP tem autovivificação?" Esta questão é deixada aqui para referência.

De acordo com a Wikipedia, O PHP não tem autovivificação, mas esse código funciona:

$test['a']['b'] = 1;
$test['a']['c'] = 1;
$test['b']['b'] = 1;
$test['b']['c'] = 1;

var_dump($test);

Saída

array
  'a' => 
    array
      'b' => int 1
      'c' => int 1
  'b' => 
    array
      'b' => int 1
      'c' => int 1

Descobri que esse código também funciona:

$test['a'][4] = 1;
$test['b'][4]['f'] = 3;

Mas adicionar esta linha causa um aviso ("Aviso: não é possível usar um valor escalar como uma matriz")

$test['a'][4]['f'] = 3;

O que está acontecendo aqui? Por que falha quando adiciono o elemento associativo após o índice? Essa é uma autovivificação "verdadeira" do tipo Perl, ou alguma variação dela, ou alguma outra coisa?

Edit: oh, vejo o erro com o escalar agora, oops! Funcionam conforme o esperado:

$test['a'][4]['a'] = 1;
$test['a'][4]['b'] = 2;
$test['a'][5]['c'] = 3;
$test['a'][8]['d'] = 4;

Então, php tem autovivification? A busca no Google por "autovivificação php" não traz uma resposta canônica ou um exemplo disso.

questionAnswers(3)

yourAnswerToTheQuestion