Я действительно реализовал это для PHP7. Сейчас он находится на стадии предложения RFC. https://github.com/php/php-src/pull/1795
На самом деле речь шла о нулевом коалесцирующем операторе в PHP7. Проверьте это:
$this->request->data['comments']['user_id'] = $this->request->data['comments']['user_id'] ?? ‘value’;
I want to check if some var is null and if the same var is null set the same var to ‘value’.
Следовательно, я повторяю ту же переменную после равного оператора, это не кажется правильным.
Поэтому я чувствую, что нам нужен другой оператор типа «?? =», аналогичный + =;
$ this-> request-> data ['comments'] ['user_id'] ?? = 'значение'. Поэтому, если var имеет значение null, он имеет значение «value» и остается неизменным.
В этом запросе на растяжение я попытался реализовать это.
$ sapi/cli/php -r '$num = null;$num ??= 5; echo $num;'
5
Я бы избегал упаковки слишком многих довольно неясных конструкций в язык, если бы я был главным архитектором C# ..... Плюс, оператор ?? == действительно не кажется мне настолько интуитивным, честно говоря. –
дубликат http://stackoverflow.com/questions/558010/why-cant-i-do-in-c –
Это было бы не ново, оно соответствовало бы сокращенному соглашению других операторов –