rfc:convert_numeric_keys_in_object_array_casts
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
rfc:convert_numeric_keys_in_object_array_casts [2016/11/14 18:04] – correct regex ajf | rfc:convert_numeric_keys_in_object_array_casts [2017/11/30 14:49] – fixup ajf | ||
---|---|---|---|
Line 3: | Line 3: | ||
* Date: 2016-10-21 | * Date: 2016-10-21 | ||
* Author: Andrea Faulds, ajf@ajf.me | * Author: Andrea Faulds, ajf@ajf.me | ||
- | * Status: | + | * Status: |
* First Published at: http:// | * First Published at: http:// | ||
Line 24: | Line 24: | ||
Various edge cases in the Zend Engine exist where array HashTables can contain numeric string keys, and object HashTables can contain integer keys. In such cases, these keys are inaccessible from PHP code, because the code handling arrays will never look for numeric string keys in the HashTable (as arrays map those to integer keys), and the code handling objects will never look for integer keys in the HashTable (as objects map those to string keys). | Various edge cases in the Zend Engine exist where array HashTables can contain numeric string keys, and object HashTables can contain integer keys. In such cases, these keys are inaccessible from PHP code, because the code handling arrays will never look for numeric string keys in the HashTable (as arrays map those to integer keys), and the code handling objects will never look for integer keys in the HashTable (as objects map those to string keys). | ||
- | This RFC focuses on a specific edge case, that of object-to-array casts and array-to-object casts. Currently, when using < | + | This RFC focuses on a specific edge case, that of object-to-array casts and array-to-object casts. Currently, when using < |
===== Proposal ===== | ===== Proposal ===== | ||
Line 101: | Line 101: | ||
===== Implementation ===== | ===== Implementation ===== | ||
+ | |||
+ | This is implemented in master, which will become PHP 7.2. The commit is: https:// | ||
+ | |||
After the project is implemented, | After the project is implemented, | ||
- | - the version(s) it was merged to | ||
- | - a link to the git commit(s) | ||
- a link to the PHP manual entry for the feature | - a link to the PHP manual entry for the feature | ||
rfc/convert_numeric_keys_in_object_array_casts.txt · Last modified: 2017/11/30 14:50 by ajf