[請益] 插入一個值到陣列指定位置上

看板PHP作者 (宅沒有罪)時間15年前 (2010/11/26 17:07), 編輯推噓4(406)
留言10則, 5人參與, 最新討論串1/1
查了很多array的函數 可能也是腦袋打結了想不出來該怎麼用比較好 囧 現在有以下陣列 $array1 = array ("66","74","836","839"); $array2 = array ("66","XXX","74","836","OOO","839"); 先用array_diff抓出不一樣的索引以及值 得到結果 Array ( [1] => XXX [4] => OOO ) 那我現在想做的是 把$array1 原本的 Array ( [0] => 66 [1] => 74 [2] => 836 [3] => 839 ) 索引[1]變成XXX 而原本的[1] => 74往後推一個 會變成 Array ( [0] => 66 [1] => XXX [2] => 74 [3] => 836 [4] => 839 ) 接著再把[4] => OOO對$array1也做同樣的事情 就會變成 Array ( [0] => 66 [1] => XXX [2] => 74 [3] => 836 [4] => OOO [5] => 839 ) 有沒有什麼方法可以做呢... 先叩謝神手了!!!!! -- 聽說鄉民都要真相是吧... http://www.wretch.cc/user/nclovegc412 看看就好 不要鞭太大力啊=ˇ= -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.79.199.36

11/26 17:14, , 1F
array_push?
11/26 17:14, 1F

11/26 17:17, , 2F
計錯了,push是加到最後面...array_unshift
11/26 17:17, 2F

11/26 17:20, , 3F
我要到指定位置 不是最前面也不是最後面XD
11/26 17:20, 3F

11/26 17:20, , 4F
而且每次指定的位置都不同..也可能會有好幾個QQ
11/26 17:20, 4F

11/26 17:21, , 5F
像例子中是索引1跟索引4要指定插入這樣...
11/26 17:21, 5F

11/26 17:34, , 6F
array_splice($array1, 1, 0, 'XXX'); var_dump($array1);
11/26 17:34, 6F

11/26 17:35, , 7F
那就寫個函式...一個一個抓到新陣列再回傳新陣列
11/26 17:35, 7F

11/26 17:43, , 8F
感謝Jerr 真的如此了耶 我去查一下splice怎麼使用
11/26 17:43, 8F

11/26 18:37, , 9F
其實寫程式除了用array外(較簡單),也應該學學linked list
11/26 18:37, 9F

11/28 01:20, , 10F
$array1 = $array2 ; (完成)
11/28 01:20, 10F
文章代碼(AID): #1CxtZZOo (PHP)
文章代碼(AID): #1CxtZZOo (PHP)