Thanks everyone for your responses. It has not taken long to find situations where this idea starts to fall apart. For example, in the case of strpos, I would hope for the return value, but in other cases I would want the the original input if the output is not false.
That makes this feature pretty unfeasible I think! ________________________________ From: [email protected] [[email protected]] on behalf of Bishop Bettini [[email protected]] Sent: 03 November 2016 16:02 To: Antony D'Andrea Cc: [email protected] Subject: Re: [PHP-DEV] Proposed RFC On Thu, Nov 3, 2016 at 11:02 AM, Antony D'Andrea <[email protected]<mailto:[email protected]>> wrote: I would like to propose a new feature that is as clean as this but is a slightly different use case. This would require a new operator (up for discussion, but an early idea is "?!") For example: echo (!is_infinite($n1/$n2)?!0); Would output ($n1/$n2) if it is "true" and 0 if false. Welcome! Let me read back what I'm hearing. If the predicate returns truthy, you want to return the argument to the predicate, otherwise the indicated default? How would this be used outside predicates, such as on string functions? Consider: echo strpos('abc', 'b') ?! 0; What would this output, and what would the purpose of such a construct be?
