Re: [請益] 請教陣列存取的問題
※ 引述《gname ((′口‵)↗︴<><...<><)》之銘言:
: ※ 引述《sweetjp6 (水餃)》之銘言:
: : 大家好,小弟有個關於陣列儲存的問題想請教。
: : 我想把每次for迴圈的值都存到同一個陣列裡,
: : 但從結果看來卻是第一個陣列的值一直重複。
: : 以下是我的程式碼:
: 就用人腦CPU來解好了..XD
: 以
: $alldrama[0]['action'] = ["1", "2", "3"] ;
: $alldrama[1]['action'] = ["4", "5"] ;
: 為例
: : $mergeDtl = array();
: : $action = array();
: : $brand = array();
: : for ($i=0 ; $i < sizeof($alldrama); $i++){
: i的範圍在 0~1
: : $take = "SELECT brand, action, sequence FROM robot where
: : screenplayname= '".$alldrama[$i]"'' " ;
: $i=0 時
: $alldrama[0]=["1", "2", "3"] ; <===這帶進去 $take 不會錯?
: $i=1 時
: $alldrama[1]=["4", "5"] ; <===這帶進去 $take 不會錯?
這邊應該是我交代不清楚。
$alldrama = ["stand", "hunker"] ;
所以$take應該是要選擇出stand或者hunker的內容。
: : $result = mysql_query($take, $db_connect) ;
: : $many = mysql_num_rows($result) ;
: : for ($j=0 ; $j < $many ; $j++){
: : $mergeDtl[] = mysql_fetch_assoc($result) ;
: ^^^^^^^^^^^^
: : $action[] = $mergeDtl[$j]['action'] ;
: ^^^^^^^^^^^^^
: 如果要 [] 就全部都 []
: 如果要 [$j] 就全部都 [$j] 別混著用
: 有時會演變成 debug 時的杯具~
這部分之所以[]和[$j]混用,是因為我認為
若寫成$action[$j] = $mergeDtl[$j]['action'] ;
會一直覆蓋到同一個元素內容。
因為我是期望可以一直儲存下去的。
: : $brand[] = $mergeDtl[$j]['brand'] ;
: : }
: : }
: : 舉個例子 :
: : 假設$alldrama有兩個元素,$alldram[0], $alldrama[1]
: : 且
: : $alldrama[0]['action'] = ["1", "2", "3"] ;
因此這邊的$alldrama[0]['action'] 事實上應該是 stand['action']
: : $alldrama[1]['action'] = ["4", "5"] ;
這邊也是一樣 $alldrama[1]['action'] 等於 hunker['action']
: : 我預期的結果是:
: : $action[] = ["1", "2", "3", "4" ,"5"] ;
: : 但實際的執行結果是
: : $action[] = ["1", "2", "3", "1" ,"2"] ;
: : 看起來似乎是第二個for迴圈出了問題,但我一直找不到問題所在
: : 這個問題讓我苦惱了很久,
: : 請各位幫忙指點迷津,謝謝。
: 你想要的東西似乎用 array merge 可以實現, 但是我從你的程式碼中感覺不出來跟你
: 想做的結果有什麼關聯? 有少PO東西嗎?
: --------
: 吃飽飯,血液不在腦中了...XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.117.164.148
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章