1
我在查看是否有任何針/cgi-bin /css etc
在乾草堆$dir
中。在PHP中用乾草堆編寫strpos的較短方式
爲了檢查多根針,我必須在每個strpos()
後面寫||
。
我在這裏看到了一些其他線程,但沒有真正顯示最簡單的代碼。
我的印象是,儘可能簡單和最小化的代碼,這是最好的方式去比較多個針的低數量(10或更少)乾草堆與strpos。
如果您知道更短的和更喜歡的方式來做到這一點,請在下面留下一個答案。
但沒有額外的複雜代碼。一個數組會很好,但保持簡單和簡短。
代碼:
if (strpos($dir, '/cgi-bin') || strpos($dir, '/css') || strpos($dir, '/images') || strpos($dir, '/includes') || strpos($dir, '/test') !== false)
continue;
那是絕對的!但'':'''cgi-bin'針之前的含義是什麼? – Mike
也可以這樣寫而不用大括號嗎? 'if(preg_match('#/(?:cgi-bin | css | images | includes | test)#',$ dir))continue;' – Mike
'::'在左括號使得非捕獲之後: http://stackoverflow.com/questions/3512471/non-capturing-group。你可以在沒有花括號的情況下編寫它,但我不推薦它:http://stackoverflow.com/questions/359732/why-is-it-considered-a-bad-practice-to-omit-curly-braces ?LQ = 1 – Barmar