|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #76589 array_column should error when value is not castable to array key
Submitted: 2018-07-06 14:17 UTC Modified: 2018-11-18 00:10 UTC
Avg. Score:4.0 ± 0.0
Reproduced:0 of 0 (0.0%)
From: nobots dot nospam at example dot org Assigned: cmb (profile)
Status: Not a bug Package: Arrays related
PHP Version: 7.3.0alpha3 OS:
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Bug Type:
From: nobots dot nospam at example dot org
New email:
PHP Version: OS:


 [2018-07-06 14:17 UTC] nobots dot nospam at example dot org
array_column should error when value is not castable to array key without loss of data

$a = [
    [ 'foo' => 777.5 ],

array_column($a, 'foo', 'foo');

is an error because float cannot be used as array key


also it should error if the index already exists and is being overwritten

$a = [
    [ 'foo' => 777, "hi" => 1 ],
    [ 'foo' => 777, "hi" => 2 ],

the index 777 is written twice and the original value is lost


and this is certainly a bug


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2018-07-06 14:35 UTC]
Related to bug #76587.
 [2018-07-06 15:40 UTC]
Why did you make this second bug report?
 [2018-07-07 04:49 UTC] example at example dot org
sorry for that, someone mentioned it and i thought nobody had reported it already
 [2018-07-10 22:48 UTC] a at b dot c dot de
I wouldn't say that the second behaviour (values are discarded if keys are repeated) is a bug.

The same behaviour is seen in every other situation where array keys can (try to) be repeated (e.g. array_merge, array_flip, array_combine, array_change_key_case, even "$a['foo'] = 1; $a['foo'] = 2;".
 [2018-11-18 00:10 UTC]
-Status: Open +Status: Not a bug -Assigned To: +Assigned To: cmb
 [2018-11-18 00:10 UTC]
Since bug #68553 has been fixed, the index keys are almost treated
like the usual array key casts[1] (the sole exception being
objects which support being cast to string are also allowed), so
I'd say that this is not a bug.

@ a at b dot c dot de

I've seen quite a lot of useful comments on bug tickets from you.
Isn't it time to reveal your identity?  At least, please don't use
domain names occupied by others (unless they're covered by RFC

[1] <>
PHP Copyright © 2001-2020 The PHP Group
All rights reserved.
Last updated: Sun May 31 01:01:25 2020 UTC