PHP 板


LINE

看板 PHP  RSS
大家好,小弟有个关於阵列储存的问题想请教。 我想把每次for回圈的值都存到同一个阵列里, 但从结果看来却是第一个阵列的值一直重复。 以下是我的程式码: $mergeDtl = array(); $action = array(); $brand = array(); for ($i=0 ; $i < sizeof($alldrama); $i++){ $take = "SELECT brand, action, sequence FROM robot where screenplayname= '".$alldrama[$i]."' " ; $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'] ; $brand[] = $mergeDtl[$j]['brand'] ; } } 举个例子 : 假设$alldrama有两个元素,$alldram[0], $alldrama[1] 且 $alldrama[0]['action'] = ["hi", "i", "am"] ; $alldrama[1]['action'] = ["trying", "it"] ; 我预期的结果是: $action[] = ["hi", "i", "am", "trying" ,"it"] ; 但实际的执行结果是 $action[] = ["hi", "i", "am", "hi" ,"i"] ; 看起来似乎是第二个for回圈出了问题,但我一直找不到问题所在 这个问题让我苦恼了很久, 请各位帮忙指点迷津,谢谢。 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.117.164.148
1F:→ mervynW:mysql_fetch_assoc[$result] ?? mysql_fetch_assoc() ?? 04/24 12:03
2F:→ sweetjp6:那边写错了@@" 04/24 12:07
※ 编辑: sweetjp6 来自: 140.117.164.148 (04/24 12:08)
3F:→ kuAIpAI:http://0rz.tw/9y2Nc 用这篇教的应该可以解决吧? 04/24 12:22
4F:→ sweetjp6:有想过用array_merge,但因为看到的例子都是属於静态,而 04/24 12:34
5F:→ sweetjp6:我的问题应该是属於动态的,所以自己以为不适用。还是 04/24 12:36
6F:→ sweetjp6:ku大可以稍微指点一下呢? 04/24 12:36
7F:→ chrisQQ:你的 $j 每次都 = 0 04/24 12:41
8F:→ chrisQQ:疑,请忽略我,我没看清楚- -" 04/24 12:42
9F:→ chrisQQ:动态一样可以 array_merge 04/24 12:43
10F:→ sweetjp6:请教一下chris,动态怎麽merge呢?可否提供例子,感谢。 04/24 12:50
11F:→ sweetjp6:刚看了一下,array_merge似乎会把内容改为数字,但我阵列 04/24 12:51
12F:→ sweetjp6:的值事实上是字串,这样应该不适用吧! 04/24 12:52
※ 编辑: sweetjp6 来自: 140.117.164.148 (04/24 12:54)
13F:推 kerash:你 $alldrama[0]['action'] 内容是DB抓出来的还是现有的? 04/24 12:53
14F:→ sweetjp6:从DB抓出来的 04/24 12:54
15F:推 kerash:你要不要 echo 看看 $alldrama[$i] 会是甚麽? 04/24 12:56
16F:→ kerash:另外 $alldrama[$i] 後面少个 . 连接 04/24 13:07
※ 编辑: sweetjp6 来自: 140.117.164.148 (04/24 13:12)
17F:→ sweetjp6:我有echo确定过$alldrama的内容,的确是我要的 04/24 13:13
18F:→ chrisQQ:不就是静态怎麽 merge 动态就一样嘛@@ 你取出的值就已经 04/24 13:17
19F:→ chrisQQ:变成静态 array 了不是? 04/24 13:17
20F:→ kerash:下面的 $alldrama[0][action] 不是指 $mergeDt1[0] ? 04/24 13:19
21F:→ kerash:你的 alldrama 算是二维阵列,如下一篇回覆的一样 04/24 13:20
22F:→ kerash:如果是 echo $alldrama[$i] 只会印 Array 才对 04/24 13:20
23F:→ kerash:另外 array merge 应该会保留原始的内容,就算是数字也可以 04/24 13:22
24F:→ kerash:转成字串,应该不会不能满足你的要求 04/24 13:22
25F:→ sweetjp6:对於array_merge会有这样的认知是因为看到上面版友给的 04/24 13:26
26F:→ sweetjp6:连结中的一句话: 只能用在 Array 的 Merge, 若array与字 04/24 13:28
27F:→ sweetjp6:串相加,会出现Unsupported operand types的错误讯息。 04/24 13:28
28F:→ sweetjp6:但这应该是我误解了。 04/24 13:29
29F:推 kerash:噢,这个在 array_merge有提到(之前我也有被版友提醒) 04/24 13:29
30F:→ kerash:因为 array_merge 不会判断类型,所以建议之前先(array)转 04/24 13:29
31F:推 PretenderY:先不论array_merge,你的第二个回圈真的很有问题 04/24 13:37
32F:→ PretenderY:因为你用$mergeDtl[],外部跑第二次取到的值会塞在後面 04/24 13:38
33F:推 kerash:另外如果 mergeDtl 不用来保留,那就可以不用用阵列 04/24 13:38
34F:→ kerash:直接 assign 就好 04/24 13:38
35F:→ PretenderY:但是你的$j却是从0开始,导致跑第二次的时候, 04/24 13:39
36F:→ PretenderY:加进$action的值会从$mergeDtl的开头开始取值 04/24 13:39
$mergeDtl[]的确是用来作保留的。我希望每次外部取到的值都可以循序存下去。 Pre大说的应该是就是我的盲点了。 如果我希望可以不要每次都从$mergeDtl[]开头取值,应该怎麽修正比较好呢? ※ 编辑: sweetjp6 来自: 140.117.164.148 (04/24 13:43)
37F:→ gname:我的坏习惯是在第二个回圈外丢个计数变数..= =" 04/24 13:47
38F:推 kerash:我的保留是指在这个程序完毕後还会不会用到 mergeDtl 04/24 13:49
39F:→ PretenderY:板主说的正是我想讲的,但非必要我自己是不会这样写 04/24 13:49
40F:→ kerash:如果不用的话可以不必存阵列,存了只是比较麻烦 04/24 13:50
41F:→ sweetjp6:在第二次的for回圈之後,的确不会再用到mergeDrl。所以我 04/24 13:52
42F:→ sweetjp6:可以直接用assign就达到我要的效果吗? 04/24 13:52
43F:推 kerash:不能解决这个问题,但至少你不用去考虑阵列位置的问题 04/24 13:53
44F:→ kerash:不过这也是目前最大的问题就是了 囧~ 04/24 13:54
45F:→ sweetjp6:我大概知道问题在哪了,先来试试看。感谢大家的热心指点 04/24 13:56







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP