開關盒上的問題
回答
這樣的事情?
case in_array(substr($rrr['url'],-4), array('.jpg','.png','.gif','.tif')):
case in_array(substr($rrr['url'],-5), array('.tiff')):
注意,我省略了case
-expression之間break;
。
也很酷:
case in_array(pathinfo($rrr['url'], PATHINFO_EXTENSION), array('jpg','png','gif','tif', 'tiff')):
從問題不工作的片斷,因爲它的評價,分爲(縮短)
(substr($rrr['url'],-4)=='.jpg') || '.png'
這工作,但oviously它沒有太大的意義,是非常可能不是,預期的是什麼。
更新:此解決方案看起來更清潔。它假定,$rrr['url']
是唯一有趣的地方。看評論
switch (pathinfo($rrr['url'], PATHINFO_EXTENSION)):
case 'jpg':
case 'png':
case 'gif':
case 'tif':
case 'tiff':
do_something();
break;
}
謝謝..它的工作:) – Abudayah 2011-04-06 08:58:31
如果這確實用作'switch'' case',這將不會像你期望的那樣工作。如果它可以工作,那只是因爲該表達式的結果與「switch」比較值大致相當。 – deceze 2011-04-06 09:07:48
@deceze:提問者忽略了'switch($ expr)'部分,所以我不得不猜測。也許它只是'切換(真)'。 – KingCrunch 2011-04-06 09:17:35
你不能使用A == B || C || D
語句是,只有A == B || A == C || A == D
另外,URL可以有GET參數。
$foo == A || B || C
不起作用,這就需要將$foo == A || $foo == B || $foo == C
或in_array($foo, array(A, B, C))
。您不能在
switch
聲明中有複雜的case
s。每種情況下只能有一個值用於比較比較值。你不得不寫這作爲單獨的落空case
S:switch ($foo) { case A : case B : case C : bar(); break; }
- 1. 我的開關盒有什麼問題?
- 2. 將開關盒撥入開關盒
- 3. Android的開關盒鈦表視圖導致滾動的問題?
- 4. 整數上的百里香開關盒
- 5. 如何在開關盒上使用try-catch語句但循環開關盒?
- 6. Java和開關盒
- 7. 幫助開關盒
- 8. BinaryTree - 帶開關盒
- 9. 使用開關盒
- 10. 開關問題
- 11. 開關問題
- 12. C編程開關盒有什麼問題?
- 13. 關於在LinkedIn上開發的問題
- 14. Apache Camel中的開關盒
- 15. MustacheJs中的開關盒
- 16. 開關盒中的逗號
- 17. bash - 開關盒中的getopts
- 18. 帶有DialogTitleButton的開關盒
- 19. 彩盒問題
- 20. wxRuby無線盒上的問題
- 21. PHP開關問題
- 22. jquery開關問題
- 23. C開關問題
- 24. 寫一個開關盒
- 25. 將var用於開關盒
- 26. 開關盒如何工作?
- 27. 如何結束開關盒
- 28. 隨機AI /開關盒?
- 29. 優化嵌套開關盒
- 30. 開關盒(一個盒子與另一個盒子相交)
是檢查區分大小寫? 'http:// example.com/icon.JPG'那麼查詢參數呢? 'http://example.com/icon.jpg?src = search'其他網頁呢? 'http:// example.com/evil#justlookslegit.jpg' – Kobi 2011-04-06 08:58:13
試試'strrchr($ rrr [「url」],「。」)'來獲得擴展名。 – mario 2011-04-06 22:27:45