p =을 어떻게 유지하고 OR /20을 추가 할 수 있습니까? 두 문자열을 모두 확인하고 싶습니다.스트리퍼에 if 문을 추가하려면 어떻게해야합니까?
<?php if (false==stripos(get_permalink($post->ID), 'p=')) { ?>
p =을 어떻게 유지하고 OR /20을 추가 할 수 있습니까? 두 문자열을 모두 확인하고 싶습니다.스트리퍼에 if 문을 추가하려면 어떻게해야합니까?
<?php if (false==stripos(get_permalink($post->ID), 'p=')) { ?>
단일 stripos()
전화와 문자열의 두 부분에 대한 테스트 할 수 없습니다 : 당신은 두 번 stripos()
를 호출해야합니다.
$link = get_permalink($post->ID);
if (stripos($link, 'p=')!==false && stripos($link, '/20')!==false) {
// the link contains both p= AND /20
}
나 :
정확히 (하지 않도록 정말 undertand에 질문)을 달성하려는 작업에 따라 &&
또는 ||
와 두를 결합합니다
$link = get_permalink($post->ID);
if (stripos($link, 'p=')!==false || stripos($link, '/20')!==false) {
// the link contains p= OR (inclusive) /20
}
옆줄로 ===
또는 !==
을 사용해야합니다. stripos()
은 0123을 반환 할 수 있습니다.또는 false
- 같은 의미는 아닙니다.
당신은'if (false == stripos (get_permalink ($ post-> ID), 'p ='))와 같은 뜻입니다. if (false == stripos (get_permalink ($ post-> ID), '/ 20'))'? – EnexoOnoma
@Punkis 아니, 나는 한가지 조건으로 두 개의 stripos() 호출을 결합하는 것을 의미한다 - 나는 나의 대답을 예제로 편집했다. –
나는 그것을 작동시킬 수 없다는 것을 모른다. 나는 단지 p =가 있었을 때 일하고 있었다. – EnexoOnoma
당신은 두 번 전화를해야 :
if( false===stripos(get_permalink($post->ID), 'p=') ||
false===stripos(get_permalink($post->ID), '/20')
) {
이 BTW POS는 0 – PeeHaa
더 나은 아직, 단지 모두 stripos''피할 반환 할 수 있습니다 잘못된 값의 원인 STR (I)를 확인하기 위해 === 연산자를 사용합니다. PHP는 ['stristr'] (http://php.net/stristr)이라는 멋진 함수를 가지고 있습니다.이 함수는 부등식 검증을 필요로하지 않습니다. – mario
@mario : strpos가 더 빠르며 더 적은 메모리를 사용한다고 생각했습니다. – PeeHaa