rfc:normalize_inc_dec

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
rfc:normalize_inc_dec [2014/02/15 02:12] datibbawrfc:normalize_inc_dec [2017/09/22 13:28] – external edit 127.0.0.1
Line 1: Line 1:
  
 ====== PHP RFC: Normalize increment and decrement operators ====== ====== PHP RFC: Normalize increment and decrement operators ======
-  * Version: 0.1+  * Version: 0.2
   * Date: 2013-12-19   * Date: 2013-12-19
   * Author: Tjerk Meesters (datibbaw)   * Author: Tjerk Meesters (datibbaw)
-  * Status: Under Discussion+  * Status: Abandoned
   * First Published at: https://wiki.php.net/rfc/normalize_inc_dec   * First Published at: https://wiki.php.net/rfc/normalize_inc_dec
  
Line 31: Line 31:
 ===== Proposal ===== ===== Proposal =====
  
-The proposal is either+The proposal is: 
-  - Treat boolean and null types as a restricted type value and deprecate alphanumeric increment+  - always treat boolean and null types as an integer, but raise warning
-  - Treat boolean and null types as an integer value and deprecate alphanumeric increment+  - deprecate alphanumeric increment and introduce ''str_inc()'' and ''str_dec()''.
-  - No changes.+
  
-==== Option 1: Restricted type values ====+==== Operation on bool / null ====
  
 <code php> <code php>
 // booleans // booleans
 $a = false;  $a = false; 
-++$a; // bool(true) +++$a; // int(1) + warning
-++$a; // bool(true) +
-$a = true;  +
---$a; // bool(false) +
---$a; // bool(false) +
- +
-// null values +
-$a = null; --$a; // null +
-$a = null; ++$a; // null +
- +
-// empty strings +
-$a = ''; ++$a; // int(1) +
-</code> +
- +
-==== Option 2: Integer values ==== +
- +
-<code php> +
-// booleans +
-$a = false;  +
-++$a; // bool(true)+
 ++$a; // int(2) ++$a; // int(2)
 $a = true;  $a = true; 
---$a; // bool(false)+--$a; // int(0+ warning
 --$a; // int(-1) --$a; // int(-1)
  
 // null values // null values
-$a = null; --$a; // int(-1) +$a = null; --$a; // int(-1) + warning 
-$a = null; ++$a; // int(1)+$a = null; ++$a; // int(1) + warning
 </code> </code>
  
-==== Deprecating alphanumeric string increment ====+==== Operation on alphanumeric strings ====
  
 <code php> <code php>
Line 87: Line 67:
 ===== Backward Incompatible Changes ===== ===== Backward Incompatible Changes =====
  
-With "option 1" the null value no longer increments to 1this may lead to problems in for-loops with null values as the start argument.+Incrementing ''null'' will now raise a warningincrementing alphanumeric strings will raise a deprecation notice.
  
 ===== Proposed PHP Version(s) ===== ===== Proposed PHP Version(s) =====
  
-**Next 5.x** +**PHP 7**
- +
-Introduce a notice for the current string increment use case. This will help developers spot their usage more easily. +
- +
-**Next major** +
- +
-Removal of string increment using ++ and --.+
  
 ===== Open Issues ===== ===== Open Issues =====
rfc/normalize_inc_dec.txt · Last modified: 2018/06/18 10:17 by cmb