Hi Mike
> Ok, so let's look at a scenario. Will we be able to do this in the future,
> if we decide to allow multiple expressions to result in a final value?
> $y = switch ($x) {
> case 1 => $arr = get_array(), array_pop($arr),
> case -1 => $arr = get_array(), array_unshift($arr),
> default => null,
> };
As I told you in previous reply, I'm working on block-expressions as well.
So if PHP has block-expressions you can do the same this way:
$y = switch ($x) {
case 1 => eval {
$arr = get_array();
give array_pop($arr);
},
case -1 => eval {
$arr = get_array();
give array_shift($arr);
},
default => null,
};
Which is obviously cleaner and more powerful.
Are you saying it is literally impossible given the current engine, or just
> that it has not been done with `break`, `continue` or `goto`?
Yes, it is impossible to break out of an ongoing function call without
exceptions.
Your response makes me think you are responding in anger? I am not arguing
> in anger myself, so I hope that I am not causing you to reply in anger? I
> am merely asking posing technical challenges in hopes to ensure that PHP is
> the best it can be. I assume we all want that?
No, I was not angry. Just a little bit tired. I appologize making you feel
that way.
Regards