大佬教程收集整理的这篇文章主要介绍了php – Array中的重复键,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
示例:
//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开发人员.
注意.
– 这可以通过array_values,sort或任何改变键位置的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 )
试试这个:
$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);
希望这可以帮助!
以上是大佬教程为你收集整理的php – Array中的重复键全部内容,希望文章能够帮你解决php – Array中的重复键所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。