Re: [請益] 請教陣列存取的問題消失
※ 引述《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 不會錯?
: $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 時的杯具~
(補充: 取值時不可以用 [], 感謝推文提醒~ )
: $brand[] = $mergeDtl[$j]['brand'] ;
: }
: }
: 舉個例子 :
: 假設$alldrama有兩個元素,$alldram[0], $alldrama[1]
: 且
: $alldrama[0]['action'] = ["1", "2", "3"] ;
: $alldrama[1]['action'] = ["4", "5"] ;
: 我預期的結果是:
: $action[] = ["1", "2", "3", "4" ,"5"] ;
: 但實際的執行結果是
: $action[] = ["1", "2", "3", "1" ,"2"] ;
: 看起來似乎是第二個for迴圈出了問題,但我一直找不到問題所在
: 這個問題讓我苦惱了很久,
: 請各位幫忙指點迷津,謝謝。
你想要的東西似乎用 array merge 可以實現, 但是我從你的程式碼中感覺不出來跟你
想做的結果有什麼關聯? 有少PO東西嗎?
--------
吃飽飯,血液不在腦中了...XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
推
04/24 13:02, , 1F
04/24 13:02, 1F
→
04/24 13:04, , 2F
04/24 13:04, 2F
→
04/24 13:16, , 3F
04/24 13:16, 3F
※ 編輯: gname 來自: 120.119.112.114 (04/24 13:22)
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章