I came across some PHP behavior that **I** think is subtle, but pretty cool. But I don't understand how...

```
$test=array('a'=>'c', 'b'=>'c');
unset($test['a']);
var_dump($test);

```

This prints

```
array(1) { ["b"]=> string(1) "c" }

```

I would have expected the array to be emptied out. After all, **$test['a']** evaluates to 'c' so the unset function only sees 'c' but knows it was just the first 'c' value I wanted removing?

My guess is the interpeter is super smart and looks inside the array inside the parameter given to it - but that's purely conjecture ...