PHP字符串中的三元运算符

时间:2013-01-04 21:27:54

标签: php ternary-operator ternary

我想在字符串中评估一个简单的三元运算符,但似乎无法找到正确的语法。

我的代码如下所示:

foreach ($this->team_bumpbox as $index=>$member) 
    echo ".... class='{((1) ? abc : def)}'>....";

但我似乎无法让它正常工作。关于如何实现这个的任何想法?

2 个答案:

答案 0 :(得分:15)

你不能在里面字符串本身。你需要点连接。像这样:

echo ".... class='" . (1 ? "abc" : "def") . "'>....";

答案 1 :(得分:2)

好吧,你可以实际做到:

$if = function($test, $true, $false)
{
  return $test ? $true : $false;
};

echo "class='{$if(true, 'abc', 'def')}'";

我会让你决定是纯粹的优雅还是纯粹的疯狂。但是请注意,与真正的条件运算符不同,函数的两个参数总是被计算。