hei, так что я пытаюсь сделать здесь, это проверить два источника моей функции, если установлено $ this-> post ["search"] использовать его или если установлено значение $ this-> сообщение [ «ID»] использовать идентификатор, но не оба:Использование логического оператора 'или' return always true
($this->post["search"] or $this->post["id"])
Если я дамп я получаю булево значение с истинным ответом, почему? Так что, если у меня есть длинная строка, как в SQL строку я не хочу использовать elseif
«си хочет быть больше как:
$this->sql->cell("select search_for('" . $this->post["search"] or $this->post["id"] . "') as response;");
($ this-> post ["search"] или $ this-> post ["id"]) возвращает _true_ или _false_, а не содержимое элементов массива post.i.e. если $ this-> post ["search"] содержит 'find me', то это _true_. –
Я хотел использовать в одной строке, как в вопросе, но мне кажется, что мне нужно использовать if/else –
_ ($ this-> post ["search"]? $ This-> post ["search"]: $ this -> post ["id"]) _ будет возвращать либо значение, если задано хотя бы одно. [Использование Терминального оператора PHP] (http://www.sitepoint.com/using-the-ternary-operator/) –