On Wed, Jun 26, 2024, at 10:11, Arvids Godjuks wrote:
> 
> 
> On Wed, 26 Jun 2024 at 11:00, Rob Landers <rob@bottled.codes> wrote:
>> __
>> 
>> 
>> On Wed, Jun 26, 2024, at 09:54, Rob Landers wrote:
>>> 
>>> 
>>> On Wed, Jun 26, 2024, at 00:19, Morgan wrote:
>>>> On 2024-06-26 08:24, Rob Landers wrote:
>>>> > On Tue, Jun 25, 2024, at 20:23, Ilija Tovilo wrote:
>>>> 
>>>> >> If null array values were indeed unobservable, then [] would be === to
>>>> >> [null] (or at least ==), and a foreach over [null] would result in 0
>>>> >> iterations. But neither of those are the case.
>>>> > 
>>>> > I think there is a difference between an empty array and a null, and 
>>>> > that is (hopefully) self-evident. I’m talking about the infinite nulls 
>>>> > IN the array. You can write a for loop of all possible keys until the 
>>>> > end of the universe, and all you will get is null. This is fairly easy 
>>>> > to prove. I'll wait... :p
>>>> > 
>>>> What about the difference between an empty array an an array that 
>>>> contains a null (Ilija's example)?
>>>> 
>>>> echo count([]);
>>>> echo count([null]);
>>>> echo count([null, null]);
>>>> echo count([null, null, null]);
>>>> echo count([null, null, null, null]);
>>>> ...
>>>> 
>>>> You're arguing that these are all the same array?
>>>> 
>>> 
>>> If you are accessing them by index, yes, they are all the same array. There 
>>> is no observable difference. I think we already covered that count() would 
>>> show the difference between them since it’s actually a count of known 
>>> indices:
>> 
>> Sorry, I’ve not yet had enough coffee, this should be:
>> 
>> $arr = [];
>> 
>> for($i = 0; $i < 4; $i++) var_dump($arr[$i]);
>>> 
>>> Will output 4 nulls. 
>>> 
>>> 
>>> — Rob
>> 
>> — Rob
> 
> You are only half-correct.
> It will also output 4 undefined index warnings in strict_types=1 mode :) 
> https://3v4l.org/DJ4AI

It will always output that warning, regardless of strict types, but as this 
thread has already covered numerous times, it is unobservable from the 
executing code unless you turn the warning into an exception.

> 
> --
> 
> Arvīds Godjuks
> +371 26 851 664
> arvids.godj...@gmail.com
> Telegram: @psihius https://t.me/psihius

— Rob

Reply via email to