看板 PHP 關於我們 聯絡資訊
我在上傳檔案的時候 在MYSQL裡有一個欄位是type 裡面會儲存上傳檔案的類型 並全部轉為小寫 在前端部分 利用if迴圈去判別 $type = mysql_query("SELECT type FROM text WHERE num = $i"); $type = mysql_fetch_row($type); echo $type[0]; <a <?if($type[0] == "mp3" or "wav" or"wma" or"ogg" or "rm" or "ra"){?> onClick="document.getElementById('music').style.display='block'" <?}?> <? if($type[0] == "mp4" or "flv" or"avi" or "wmv" or "asf" or "wmvhd" or "dat" or "vob" or "mpg" or "mpeg" or "3gp" or"3g2" or "mkv" or "rm" or "rmvb" or "mov" or "qt" or "ogg" or "ogv" or "oga" or "mod"){?> href="<?php echo 'file/'.$i.'.mp4'?>" <?}?> ></a> 這是片段程式碼 我想問判別的部分有錯嗎 感覺判別不出來 是 == 部分不能這樣判斷字串嗎 還是or的問題? echo $type[0]; 出來的字是 mp3 但兩個都有執行 影片部分和音樂部分都有執行 是不是哪邊出了錯誤 先不要考慮我用這種土法煉鋼的判別影片方式 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 112.104.5.206 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1494502068.A.F28.html
lambo: if(($type[0] == "mp3") or ($type[0] == "wav").....) 05/11 20:15
MOONRAKER: XD 不要考慮咧 問題就是你土法鍊鋼好嗎 05/11 23:52
MOONRAKER: 自己測試看看這樣會不會執行 05/11 23:55
MOONRAKER: $a=3; if ($a == 1 or 2 or 4 or 5) { echo 'is 3'; } 05/11 23:55
MOONRAKER: 真的太幽默了 還有in_array()加減看一下 看不懂沒關係 05/11 23:56
xdraculax: in_array or preg_match or strstr or function switch 05/12 02:26
哈哈 感謝各位大大 只是想問說我這個方法的問題出在哪 不過看到in_array 這個還真是好用阿 ※ 編輯: ss95061111ss (112.104.5.206), 05/12/2017 06:02:57
MOONRAKER: 你的問題就是不能這樣寫 一樓有給你示範標準寫法 05/12 08:29
MOONRAKER: 但是照那樣寫實在太累了 所以建議你用in_array() 05/12 08:30
MOONRAKER: 或者switch 如同七樓建議的 05/12 08:31
lhsieh: 有意念化的味道,或許再過幾年就可以了 05/13 06:14
kroutony: php什麼時候變自然語言了 05/13 10:35
wotupset: 好醜的程式碼 我輸了 05/14 14:43
egg0821: $check = array('mp3','mp4'); 05/15 10:18
egg0821: if(in_array($type[0],$check)) echo $type[0]; 05/15 10:19