[discussion] arraykey type
| From: | azjezz | Date: | Fri, 26 Apr 2019 23:13:53 +0000 |
| Subject: | [discussion] arraykey type | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-105465@lists.php.net to get a copy of this message | ||
Hello Internals,
As [Danack](https://github.com/Danack) has mentioned in the [PR
comments](https://github.com/php/php-src/pull/4073#issuecomment-487186654), i want to discuss this
here before writing an RFC.
What do you think about adding the
arraykey type to PHP.
see :
- https://docs.hhvm.com/hack/types/arraykey
- https://github.com/php/php-src/pull/4073#issuecomment-487178779
-https://github.com/php/php-src/pull/2603#issuecomment-487122061
- https://twitter.com/azjezz/status/1121182765385433095
- https://www.facebook.com/groups/2204685680/?multi_permalinks=10157789745805681
GitHub pull request : https://github.com/php/php-src/pull/4073
---
### Weak typing
As Nikita [mentioned in the PR](https://github.com/php/php-src/pull/4073#issuecomment-487184224),
this is an issue that we are facing even with union types.
assuming we have a function named get with the following signature :
```
function get(iterable $container, arraykey $index): mixed;
```
should passing a float or bool be allowed when strict_types=0
?
if so, should get($arr, true); act as get($arr, 1); or get($arr,
'1'); ?
---
### Naming
The arraykey naming comes from Hack, i found it familiar since i am used to Hack, but
we have other options :
- index
- key
- offset
---
Best regards,
Saif Eddin Gmati.