Тернарный оператор не работает, если я использую эхо - PullRequest
0 голосов
/ 28 февраля 2019

Я использую этот троичный оператор:

$this->checkIfProductCategoriesContainsString($productId, $categoryNeedle) !== false ? echo "Category containing categoryNeedle exists" : echo "Category does not exist.";

Я также попробовал это так:

($this->checkIfProductCategoriesContainsString($productId, $categoryNeedle) !== false) ? echo "Category containing categoryNeedle exists" : echo "Category does not exist.";

Но моя IDE говорит unexpected echo after ?

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Вы должны прочитать о разнице между print и echo в PHP в целом.Вместо этого используйте print .

$this->checkIfProductCategoriesContainsString($productId, $categoryNeedle) ?
    print "Category containing category needle exists" : 
    print "Category does not exist.";

Но лучше просто:

echo $this->checkIfProductCategoriesContainsString($productId, $categoryNeedle) ?
    'Category containing category needle exists' : 
    'Category does not exist.';
0 голосов
/ 28 февраля 2019

А как же

echo(
    $this->checkIfProductCategoriesContainsString($productId, $categoryNeedle) !== false
        ? "Category containing categoryNeedle exists"
        : "Category does not exist."
);
...