php – Array中的重复键
发布时间:2020-05-25 09:06:15 所属栏目:PHP 来源:互联网
导读:在类型转换期间防止重复键的最佳方法是什么? 示例: //Credits @bwoebi$obj = (object)array(1,2,3);$obj-{1} = Duplicate key 1;$obj-{2} = Duplicate key 2;$obj-{3} = Duplicate key 3;$array = (array)$obj ;print_r($ar
|
在类型转换期间防止重复键的最佳方法是什么? 示例: //Credits @bwoebi
$obj = (object)array(1,2,3);
$obj->{1} = "Duplicate key 1";
$obj->{2} = "Duplicate key 2";
$obj->{3} = "Duplicate key 3";
$array = (array)$obj ;
print_r($array);
产量 Array
(
[0] => 1
[1] => 2
[2] => 3
[1] => Duplicate key 1
[2] => Duplicate key 2
[3] => Duplicate key 3
)
现在我知道一些聪明的人会说它,因为一个键是字符串而另一个int使用var_dump var_dump($array); 产量 array (size=6) 0 => int 1 1 => int 2 2 => int 3 '1' => string 'Duplicate key 1' (length=15) '2' => string 'Duplicate key 2' (length=15) '3' => string 'Duplicate key 3' (length=15) 但主要问题是没有办法获得钥匙 echo $array['1'],PHP_EOL; //Expected Duplicate key 1 echo $array[1],PHP_EOL; 产量 2 2 没有循环,是否有解决此问题的方法?显然我永远不会犯这个错误,除非@PeeHaa埽再次成为啤酒,但我认为任何答案都应该帮助受过良好教育的PHP开发人员. 注意. 例 sort($array); print_r($array); 产量 Array
(
[0] => Duplicate key 1
[1] => Duplicate key 2
[2] => Duplicate key 3
[3] => 1
[4] => 2
[5] => 3
)
您可以使用
array_values功能重置阵列键.
试试这个: $obj = (object)array(1,3);
$obj->{1} = "Duplicate key 1";
$obj->{2} = "Duplicate key 2";
$obj->{3} = "Duplicate key 3";
$array = (array)$obj ;
$array = array_values($array);
print_r($array);
产生这个: Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => Duplicate key 1
[4] => Duplicate key 2
[5] => Duplicate key 3
)
或者您甚至可以在转换之前使用array_values,如下所示: $array = array_values((array)$obj); 希望这可以帮助! (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
