rfc:foreach-non-scalar-keys
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:foreach-non-scalar-keys [2013/02/19 13:15] – nikic | rfc:foreach-non-scalar-keys [2013/02/27 19:30] – fix vote nikic | ||
---|---|---|---|
Line 3: | Line 3: | ||
* Date: 2013-01-28 | * Date: 2013-01-28 | ||
* Authors: Levi Morrison < | * Authors: Levi Morrison < | ||
- | * Status: | + | * Status: |
* Target version: PHP 5.5 | * Target version: PHP 5.5 | ||
Line 66: | Line 66: | ||
The signature can use '' | The signature can use '' | ||
+ | |||
+ | ===== iterator_to_array() ===== | ||
+ | |||
+ | When using non-string/ | ||
+ | |||
+ | <code php> | ||
+ | function iterator_to_array($iter) { | ||
+ | foreach ($iter as $k => $v) { | ||
+ | $array[$k] = $v; | ||
+ | } | ||
+ | return $array; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | For array and object keys this would give an '' | ||
+ | |||
+ | In order to support this a new function is added in '' | ||
+ | |||
+ | <code c> | ||
+ | /* The refcount of value is incremented by the function itself */ | ||
+ | ZEND_API int array_set_zval_key(HashTable *ht, zval *key, zval *value); | ||
+ | </ | ||
===== Patch ===== | ===== Patch ===== | ||
Line 73: | Line 95: | ||
The change itself is rather small, but there are quite a few extensions that require minor adjustments to use the new API. | The change itself is rather small, but there are quite a few extensions that require minor adjustments to use the new API. | ||
- | ===== Open questions | + | ===== Vote ===== |
+ | |||
+ | Voting ends on March 6th. A 50% + 1 majority is required. This RFC targets PHP 5.5. | ||
- | The main open question are iterator/ | + | <doodle title=" |
+ | * Yes | ||
+ | * No | ||
+ | </ |
rfc/foreach-non-scalar-keys.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1