[請益] Notice: Undefined offset問題

看板PHP作者 (rayray)時間8年前 (2016/11/14 16:21), 8年前編輯推噓0(0012)
留言12則, 3人參與, 最新討論串1/1
for($j=1;$j<=3;$j++) { $rand0=rand(1,$num*2+$j); $temp=$genes[$i][$rand0]; $genes[$i][$rand0]=0; for($k=$rand0+1;$k<=$num*2+$j;$k++) { $temp1=$genes[$i][$k]; $genes[$i][$k]=$temp; $temp=$temp1; } } $num=4 小弟要在陣列中隨機插入3個0 插入0後其他數值往後移一格 echo出來陣列中的值都對 只是上面會顯示一堆 Notice: Undefined offset: 9 in C:\xampp\htdocs\thesis\algorithm.php on line 147 Notice: Undefined offset: 10 in C:\xampp\htdocs\thesis\algorithm.php on line 147 Notice: Undefined offset: 11 in C:\xampp\htdocs\thesis\algorithm.php on line 147 請問各位這要怎麼解決阿QQ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.124.76.96 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1479111702.A.242.html

11/14 17:12, , 1F
插入有內建函數 array_s 什麼的,就算要用迴圈跑到可以
11/14 17:12, 1F

11/14 17:12, , 2F
從後往前取,不用 temp
11/14 17:12, 2F

11/14 17:16, , 3F
陣列第一個值是 [0],最後一個值是 count-1,看來你像
11/14 17:16, 3F

11/14 17:16, , 4F
是從 1 跑到 count 去了
11/14 17:16, 4F

11/14 17:21, , 5F
天阿還用到二維陣列是怎樣 直接放棄
11/14 17:21, 5F

11/14 17:21, , 6F
array_splice()可以用,還有一個方法:
11/14 17:21, 6F

11/14 17:23, , 7F
產生三個rand(),用array_splice()把陣列切成四段
11/14 17:23, 7F

11/14 17:24, , 8F
2)生三個array(0) (陣列裡面只有0一個元素)
11/14 17:24, 8F

11/14 17:24, , 9F
3)用array_merge把四段中間插那個三個array(0)接起來
11/14 17:24, 9F

11/14 17:28, , 10F
Sorry切陣列是用arry_slice() 不是array_splice()
11/14 17:28, 10F
感謝x大、M大解答 因為小魯我只學過一點點c的基礎語法 因為陣列要對照其他陣列去抓值 array()我不知道要怎麼對照所以就用我比較熟悉的方法去寫了 有推薦新手不錯的書嗎QQ 我只有一本MySQL+Php+jquery的書 好像沒什麼用...... ※ 編輯: raydd (110.28.33.4), 11/14/2016 19:10:21 ※ 編輯: raydd (110.28.33.4), 11/14/2016 19:10:53

11/15 02:51, , 11F
你需要的是php入門(電子)書
11/15 02:51, 11F

11/15 02:51, , 12F
該補充的是程式語言基本能力,如陣列迴圈等應用
11/15 02:51, 12F
文章代碼(AID): #1OANGM92 (PHP)
文章代碼(AID): #1OANGM92 (PHP)