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: bishop.bett...@gmail.com [bishop.bett...@gmail.com] on behalf of Bishop Bettini [bis...@php.net] Sent: 03 November 2016 16:02 To: Antony D'Andrea Cc: internals@lists.php.net Subject: Re: [PHP-DEV] Proposed RFC On Thu, Nov 3, 2016 at 11:02 AM, Antony D'Andrea <contac...@antonydandrea.com<mailto:contac...@antonydandrea.com>> 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?