Bug #76589 [Com]: array_column should error when value is not castable to array key

From: Date: Tue, 10 Jul 2018 22:48:45 +0000
Subject: Bug #76589 [Com]: array_column should error when value is not castable to array key
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-216267@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=76589&edit=1 ID: 76589 Comment by: a at b dot c dot de Reported by: nobots dot nospam at example dot org Summary: array_column should error when value is not castable to array key Status: Open Type: Bug Package: Arrays related PHP Version: 7.3.0alpha3 Block user comment: N Private report: N New Comment: 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;". Previous Comments: ------------------------------------------------------------------------ [2018-07-07 04:49:55] example at example dot org sorry for that, someone mentioned it and i thought nobody had reported it already ------------------------------------------------------------------------ [2018-07-06 15:40:52] requinix@php.net Why did you make this second bug report? ------------------------------------------------------------------------ [2018-07-06 14:35:12] cmb@php.net Related to bug #76587. ------------------------------------------------------------------------ [2018-07-06 14:17:36] nobots dot nospam at example dot org Description: ------------ 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 https://3v4l.org/WhUmh ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=76589&edit=1

« previous php.bugs (#216267) next »