On Thu, 6 Apr 2023 at 14:04, mickmackusa <mickmack...@gmail.com> wrote:
> I think it would be more intuitive to implement an array "appending" > functionality with "concatenating" syntax. The `.=` syntax already exists, > but is forbidden from use on non-strings. If you want to implement this > preexisting syntax as an array concatenation operator, then it is a blank > slate -- you can decree whatever behaviors you wish for it without blurring > what the combined operator does with strings. > This would be the idea situation, but this is not correct. Arrays, still in PHP 8, get automatically cast to strings during concatenation or echo: <?php $a = [1, 2, 3]; $b = [4, 5, 6]; $a .= $b; var_dump($a); ?> Results in: Warning: Array to string conversion Warning: Array to string conversion string(10) "ArrayArray" See: https://3v4l.org/26Jba I'm expecting that in PHP 9 this is going to throw a TypeError similarly to how non-string castable objects throw a TypeError in PHP 8. But because this was "only" a notice in PHP 7, this specific change only got promoted to an E_WARNING. Thus, this suggestion is not possible until the major version, but I do prefer this compared to the weird $a[...] syntax. Bbet regards, George P. Banyard