Fixed a problem with "0" as a key for the last entry of an array definition

E.g. the following ini file resulted in unexpected results without the provided patch:

```
[helloworld]
hello.1 = world
hello.0 = hello
```

In case the key is "0" the while condition was also false even though it was expected to be true.

```
while (($current_key = array_shift($path)) !== null) {
```

I have added the correct check comparing to null in order to make sure that keys with "0" will be handled correctly. I have further added a test to cover this specific case.