2015-01-08 1 views
-1

안녕하세요, 그래서 여기에서하려고하는 것은 $ this-> post [ "search"]가 설정되어 있거나 설정되어있는 경우 내 함수의 두 소스를 확인하는 것입니다. this-> ID를 사용 [ "ID를"] 게시 할 수 있지만 둘 :논리 연산자를 사용하거나 '항상'true를 반환합니다.

($this->post["search"] or $this->post["id"]) 

내가 진정한 해답와 부울 값을 가져 덤프, 왜? 당신은 아마 설정 있는지에 따라 제어 흐름을 통과해야

$this->sql->cell("select search_for('" . $this->post["search"] or $this->post["id"] . "') as response;"); 
+0

($ this-> post [ "search"] 또는 $ this-> post [ "id"])는 post 배열 요소의 내용이 아닌 _true_ 또는 _false_를 반환합니다. $ this-> post [ "search"]에 'find me'가 있으면 _true_입니다. –

+0

질문과 같이 한 줄에 사용하고 싶지만 if/else를 사용해야합니다. –

+1

_ ($ this-> post [ "search"]? $ this-> post [ "search"] : $ this -> post [ "id"]) _ 적어도 하나가 제공되면 _ 값을 리턴합니다. [PHP 3 진수 연산자 사용하기] (http://www.sitepoint.com/using-the-ternary-operator/) –

답변

0

:

을 나는 SQL 문자열처럼 긴 문자열이있는 경우 더 같은 그래서 나는시이 원하는 ' elseif을 사용하지 않으
if (isset($this->post["search"])) { 
    // deal with search 
} else if (isset($this->post["id"])) { 
    // deal with id 
} else { 
    // gracefully reject dealing: nothing to do 
} 

BTW, isset 반환 빈 문자열에 대한 true는 :

$test = array('a' => ''); 
var_dump(isset($test['a'])); 
//⇒ bool(true) 

는여부를 확인하려면210 매개 변수에 값이 있으면

!empty($_POST['id']) 

희망이 있습니다.

+0

제 질문을 수정하십시오! 그래서 나는 elseif를 사용하고 싶지 않습니다. $ this-> post [ "search"] 또는 $ this-> post [ "id"] 나는 왜 항상 그 사실을 알 수 있습니까? –

+0

@ JohniDevo Pls는 업데이트를 참조하십시오. – mudasobwa