這篇文章主要介紹了php中array_unshift()修改數組key注意事項,執行個體分析了array_unshift()函數在處理索引值為數字類型時自動轉換索引值的情況,需要的朋友可以參考下
眾所周知,array_unshift()用來在數組的開頭添加元素,但今天突然發現如果數組的索引值是數字類型的(或能轉成數字類型的),array_unshift()會修改所有鍵為數位元素的Key,真是坑啊
執行個體:
$a=array(111=>"dddddddddddd","112"=>array("one"=>"orange","two"=>"hhhhh"), "113"=>array("one"=>"orange","two"=>"hhhhh"),"oooo"=>"jjjjj");print_r($a);echo "</br>";array_unshift($a, "aaaaaaaaa");print_r($a);echo "</br>";
輸出結果:
Array ( [111] => dddddddddddd [112] => Array ( [one] => orange [two] => hhhhh ) [113] => Array ( [one] => orange [two] => hhhhh ) [oooo] => jjjjj )Array ( [0] => aaaaaaaaa [1] => dddddddddddd [2] => Array ( [one] => orange [two] => hhhhh ) [3] => Array ( [one] => orange [two] => hhhhh ) [oooo] => jjjjj )
看到了吧,array_unshift()後數組索引值發生了變化,原來的111變成了1,真是坑哪!以後大家在使用array_unshift()的時候對此需要格外注意了!
總結:以上就是本篇文的全部內容,希望能對大家的學習有所協助。