作者chang0206 (Eric Chang)
看板PHP
標題[請益] 取出陣列內特定條件的值
時間Mon Jan 13 14:11:40 2014
不好意思,小弟是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
1F:→ itisjoe:if ($rw["id"] == $idd) 裡面的 = 要兩個 01/13 14:14
2F:→ chang0206:用兩個==之後,都會跑到else那邊去耶.. 01/13 14:25
3F:→ DongFeng:檢查一下{}的位置 01/13 14:28
4F:→ itisjoe:都跑去else就是沒有符合條件 把$rw["id"]跟$idd印出來看看 01/13 15:52
5F:→ itisjoe:不過{}沒有成對 應該會報錯誤才對 01/13 15:54
※ 編輯: chang0206 來自: 60.251.177.1 (01/13 16:16)
6F:→ chang0206:我也覺得很奇怪,沒有報錯啊。後來改用兩個判斷式去抓 01/13 16:17
7F:→ chang0206:就沒有問題了.. 01/13 16:17
8F:推 thitbbeb:直接把code貼上來會比較好debug.... 01/13 18:24
9F:→ thitbbeb:$result & $idd確認一下內容output是什麼? 01/13 18:25
10F:推 alog:1. foreach ( $array as $index => $row ) 2. $row['id'] 01/13 19:08