2014-03-26 2 views
0

wordpress에 $ _GET 변수를 보내기위한 URL을 만들고 있는데 레이디가 "?"인지 확인해야합니다. 즉, URL에 $ _GET 배열에 (이 아닌 다른 문자로 채워진 경우)이 스크립트가 보내는 쌍입니다.변수가 아닌 다른 것 in_array php

기본적으로 말해서 배열에 아무것도 없으면 "?"를 사용해야하지만 배열에 단 하나만 있다면 "my_variable"을 사용해야하며 그렇지 않으면 "?"을 사용해야합니다 ($ _GET이 채워 지므로 여기에 추가하기 만하면됩니다) "&"을 사용하십시오.

하지만 "$ _GET에 my_variable 이외의 것이 있으면"라고하는 방법이 있습니까? 내가이 솔루션을 함께했다이 답변에서 코멘트 후

if (strpos(basename($_SERVER['REQUEST_URI']), "?") !== FALSE) { 
    $get_divider = "&"; 
} 

: : 당신은 그냥 요청 URL에 strpos을 사용할 수 있습니다

if (count($_GET) < 1) 
$get_divider = "?"; 
elseif ((count($_GET) == 1) && (isset($_GET['mz_week']))) 
$get_divider = "?"; 
else 
$get_divider = "&"; 

답변

0

if (count(array_diff_key($_GET, array("mz_week" => 0))) == 0) { 
     $get_divider = "?"; 
    } else { 
     $get_divider = "&"; 
    } 

그것은`하지 꽤 ,하지만 그 일을 않습니다.

+0

다음 'else $ get_divider = "&";'가 있습니까? 아직도 "?"가 필요하기 때문에 작동하지 않습니다. $ _GET에 하나의 값이 있고 그것은 my_variable입니다. 말이 돼? – MikeiLL

+0

그러면 솔루션에 문제가 있습니까? 작동하지 않습니까? 오류 메시지가 있습니까? – puelo

+0

내 해결책은 괜찮습니다. 실제로 OR을 사용하여 조금 단축했습니다. '((count ($ _GET) <1) || (count ($ _ GET) == 1) && (isset ($ _ GET [ 'mz_week'])))'. 그러나 무엇이든을 말하고 그 경우에 "&"를 사용하는 방법이 있다면 그것은 멋질 것입니다. 제안한 코드는 통찰력이 있습니다. – MikeiLL