看板 PHP 關於我們 聯絡資訊
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
xdraculax: 插入有內建函數 array_s 什麼的,就算要用迴圈跑到可以11/14 17:12
xdraculax: 從後往前取,不用 temp11/14 17:12
xdraculax: 陣列第一個值是 [0],最後一個值是 count-1,看來你像11/14 17:16
xdraculax: 是從 1 跑到 count 去了11/14 17:16
MOONRAKER: 天阿還用到二維陣列是怎樣 直接放棄11/14 17:21
MOONRAKER: array_splice()可以用,還有一個方法:11/14 17:21
MOONRAKER: 產生三個rand(),用array_splice()把陣列切成四段11/14 17:23
MOONRAKER: 2)生三個array(0) (陣列裡面只有0一個元素)11/14 17:24
MOONRAKER: 3)用array_merge把四段中間插那個三個array(0)接起來11/14 17:24
MOONRAKER: Sorry切陣列是用arry_slice() 不是array_splice()11/14 17:28
感謝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
mikejaffson: 你需要的是php入門(電子)書 11/15 02:51
mikejaffson: 該補充的是程式語言基本能力,如陣列迴圈等應用 11/15 02:51