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
rfc:normalize_inc_dec [2014/02/15 02:12] datibbawrfc:normalize_inc_dec [2018/06/18 10:17] (current) – This RFC appears to be inactive cmb
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: Inactive
   * 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.1392430365.txt.gz · Last modified: 2017/09/22 13:28 (external edit)