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 [2013/12/30 23:03] 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:  +  * Author: Tjerk Meesters (datibbaw) 
-  * Status: Draft+  * 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 following behaviour is proposed:+The proposal is: 
 +  - always treat boolean and null types as an integer, but raise a warning. 
 +  - deprecate alphanumeric increment and introduce ''str_inc()'' and ''str_dec()''
 + 
 +==== Operation on bool / null ====
  
 <code php> <code php>
 // booleans // booleans
-$a = false; ++$a; // bool(true+$a = false;  
-$a = true; --$a; // bool(false)+++$a; // int(1) + warning 
 +++$a; // int(2
 +$a = true;  
 +--$a; // int(0) + warning 
 +--$a; // int(-1)
  
 // null values // null values
-$a = null; --$a; // null +$a = null; --$a; // int(-1) + warning 
-$a = null; ++$a; // null+$a = null; ++$a; // int(1) + warning 
 +</code>
  
-// empty strings +==== Operation on alphanumeric strings ====
-$a ''; ++$a; // int(1)+
  
 +<code php>
 // non-numeric strings // non-numeric strings
 $a = '12d9';  $a = '12d9'; 
Line 58: Line 67:
 ===== Backward Incompatible Changes ===== ===== Backward Incompatible Changes =====
  
-Null no longer increments to 1. Booleans couldn't be incremented in the first place, so there should be no breaks.+Incrementing ''null'' will now raise a warning; incrementing 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