在php变量中用条件运算符替换if语句

I need to change my PHP code from: ($a contains parsed text with html tags to which I want to append more data, checking if video links exist, append the echo statement)

$cont = '<div>'.$a.'<br>.'
  if (!empty($a->find('object', 0)->data)){
    echo '<a target="_blank" href="'.$a->find('object', 0)->data.'">
    Play Video</a>&nbsp;&nbsp;';
  }
  if (!empty($a->find('object', 1)->data)){
    echo '<a target="_blank" href="'.$a->find('object', 1)->data.'">
    Play Video</a>&nbsp;&nbsp;';
  }
.'</div>';

I know this is wrong so I need help implementing comparison operators. Something like:

$cont = '<div>.'$a.'<br>'.
  ($a->find('object', 0)->data > 0 ? '<a target="_blank" 
  href="'.$a->find('object', 0)->data.'">Play Video</a>&nbsp;&nbsp;')
  ($a->find('object', 1)->data > 0 ? '<a target="_blank" 
  href="'.$a->find('object', 1)->data.'">Play Video</a>&nbsp;&nbsp;')
  .'</div>';

But I get a syntax error "(" by the first $a->find. Is it possible to do something like this?

douwei7976
douwei7976 这就是我想要做的......看看对象是否存在,如果存在,在显示之后显示一些东西?“”
7 年多之前 回复
dppi5167
dppi5167 你确实意识到你从根本上改变了代码的效果,对吧?第一个示例在if的内部有echo语句,而修改没有。
7 年多之前 回复

1个回答

You have to add the else part introduced by a semicolon:

$cont = '<div>'.$a.'<br>'.
  ($a->find('object', 0)->data > 0 ? '<a target="_blank" 
  href="'.$a->find('object', 0)->data.'">Play Video</a>&nbsp;&nbsp;':'').
  ($a->find('object', 1)->data > 0 ? '<a target="_blank" 
  href="'.$a->find('object', 1)->data.'">Play Video</a>&nbsp;&nbsp;':'') // :'' here
  .'</div>';
dougou6114
dougou6114 找到了正确的语法:它是“!=''”
7 年多之前 回复
dongxie5698
dongxie5698 这是不一样的; 至少对于负整数:!empty(-1)!== -1> 0;)
7 年多之前 回复
dongyuji7309
dongyuji7309 我的语法是否正确? 说它将> 0与说(!empty)相同?
7 年多之前 回复
dongxi1320
dongxi1320 这有效......忘记了两个cond陈述之间的时期。 谢谢!!!
7 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐