Can someone please explain why this happens:

```
$a[0] = 1;
$a[0] = $a[0]++;
echo $a[0];

```

In this code, `a[0]` always becomes 1. Even if `$a[0] = $a[0]++;` is done multiple times it does not increment the value of `a[0]`.

but if we assign to a different variable like this:

```
$a[0] = 1;
$b[0] = $a[0]++;
echo $a[0];

```

`$a[0]` will be set to 2. (And of course `b[0]` will be 1).

I cannot understand why this happens.