看板 PHP 關於我們 聯絡資訊
不好意思,小弟是PHP門外漢 但是最近臨危受命,要更改一段程式 這個程式會把一些資料丟進一個陣列內 內容大概長這樣 Array ( [id] => 705 [lang] => tw [photo_id] => 1179 [pnum] => 13100705 [url_buy] => [date_unlimit] => 0 [date_start] => 2013/10/03 [date_over] => 2099/12/31 [block] => 0 [sort] => 20131227 [uid] => 1 [time] => 1388112283 [file_path] => upload/product/1310-Thu/1380788118.04.76.thumb.jpg ) Array ( [id] => 720 [lang] => tw [photo_id] => 1956 [pnum] => 13100720 [url_buy] => [date_unlimit] => 0 [date_start] => 2013/10/31 [date_over] => 2099/12/31 [block] => 0 [sort] => 20131031 [uid] => 1 [time] => 1385020920 [file_path] => upload/product/1311-Thu/1385019725.8015.1.thumb.jpg ) 這是我用foreach + print_r 去找出來 我現在想要加一個判斷式 foreach($result AS $rw){ // idd 是我指定的一個數值 // 我想要做到當陣列內的 id這個key = idd時,取得 photo_id 的值 if ($rw["id"] = $idd) echo $idd."-".$rw["photo_id"]; else { echo $idd; } } //print_r ($rw); } 可是程式執行的結果,永遠都只會抓第一筆的photo_id 1179 即使 id 明明是720 不曉得我 -- 會當凌絕頂,一覽眾山小。 —— 杜甫 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.251.177.1
itisjoe:if ($rw["id"] == $idd) 裡面的 = 要兩個 01/13 14:14
chang0206:用兩個==之後,都會跑到else那邊去耶.. 01/13 14:25
DongFeng:檢查一下{}的位置 01/13 14:28
itisjoe:都跑去else就是沒有符合條件 把$rw["id"]跟$idd印出來看看 01/13 15:52
itisjoe:不過{}沒有成對 應該會報錯誤才對 01/13 15:54
※ 編輯: chang0206 來自: 60.251.177.1 (01/13 16:16)
chang0206:我也覺得很奇怪,沒有報錯啊。後來改用兩個判斷式去抓 01/13 16:17
chang0206:就沒有問題了.. 01/13 16:17
thitbbeb:直接把code貼上來會比較好debug.... 01/13 18:24
thitbbeb:$result & $idd確認一下內容output是什麼? 01/13 18:25
alog:1. foreach ( $array as $index => $row ) 2. $row['id'] 01/13 19:08