我該如何保留p =並在其上面添加OR /20?我的意思是我想檢查兩個字符串。如何在stripos中添加if語句?
<?php if (false==stripos(get_permalink($post->ID), 'p=')) { ?>
我該如何保留p =並在其上面添加OR /20?我的意思是我想檢查兩個字符串。如何在stripos中添加if語句?
<?php if (false==stripos(get_permalink($post->ID), 'p=')) { ?>
你不能用一個單一的通話stripos()
串的兩個部分測試:你必須調用stripos()
兩次。
取決於你究竟想達到(不知道我真的undertand問題),你會&&
或||
結合這兩個:
$link = get_permalink($post->ID);
if (stripos($link, 'p=')!==false && stripos($link, '/20')!==false) {
// the link contains both p= AND /20
}
或:
$link = get_permalink($post->ID);
if (stripos($link, 'p=')!==false || stripos($link, '/20')!==false) {
// the link contains p= OR (inclusive) /20
}
作爲旁註:您應該使用===
或!==
,因爲stripos()
可以返回0
或false
- 而那些意思不一樣。
你的意思就像'if(false == stripos(get_permalink($ post-> ID),'p ='))|| if(false == stripos(get_permalink($ post-> ID),'/ 20'))'? – EnexoOnoma 2011-04-20 21:36:53
@Punkis不,我的意思是在一個條件下將兩個stripos()調用相結合 - 我用一個示例編輯了我的答案。 – 2011-04-20 21:38:50
我不知道我不能得到它的工作..這是工作時,我只有P =雖然 – EnexoOnoma 2011-04-20 21:45:28
你必須兩次調用它:
if( false===stripos(get_permalink($post->ID), 'p=') ||
false===stripos(get_permalink($post->ID), '/20')
) {
BTW使用===運算符來檢查錯誤值的原因STR(I)POS還可以返回0 – PeeHaa 2011-04-20 21:37:12
更重要的是,只是避免'完全stripos'。 PHP有一個叫''stristr'](http://php.net/stristr)的可愛函數,它不需要布爾平等探測。 – mario 2011-04-20 21:44:04
@mario:我認爲strpos速度更快,內存使用更少 – PeeHaa 2011-04-20 21:49:45