【问题标题】:echo $Variable . "word" (only returning $Variable, NOT "word") -TERNARY Operators回声$变量。 “word”(只返回 $Variable,而不是“word”)-TERNARY 运算符
【发布时间】:2012-06-10 22:26:29
【问题描述】:

可能是我在这里遗漏了一些非常明显的东西吗?

print ucwords(strtolower($keycode)) . " Preview Page" 为何只返回 $keycode 作为标题,而不返回应该存在的尾随“预览页面”?

<?php
$title = ((isset($keycode)) ? print ucwords(strtolower($keycode)) . " Preview Page" : print "Home Page"); ?>

<title><?php echo $title; ?></title>

我什至尝试过 print ucwords(strtolower($keycode . ' Preview Page')) 只是为了在那里工作,但这并没有改变任何东西。它似乎只看到了变量...

有人知道如何让它工作吗? :o) 请帮忙?感谢您的宝贵时间。

【问题讨论】:

  • 您在&lt;php 中缺少?
  • 哦,是的,但是在我页面上的代码上,它就在那里,这是我刚刚在这里输入并错过了它。谢谢,我会编辑的:)

标签: php variables ternary-operator


【解决方案1】:

问题是您正在回显调用print 的结果,这只是一个int 我认为......无论如何,printecho 都具有输出字符串的效果。你只需要丢失prints 所以:

$title = ((isset($keycode)) ? ucwords(strtolower($keycode)) . " Preview Page" : "Home Page"); ?>

【讨论】:

【解决方案2】:

您错误地使用了运算符。第一个表达式的结果决定了是表达式 1 还是表达式 2 返回给它传递给的变量或函数。

print (isset($keycode)) ? ucwords(strtolower($keycode)) . " Preview Page" : "Home Page"; 

【讨论】:

  • 谢谢,我很高兴看到回复!无论如何,在使用您的代码后,我的标题现在返回数字“1”,这真的很奇怪。你的意思是我把那个代码变成了变量$title?例如$title = YOUR CODE?因为我就是这么做的
  • @Love:丢掉print。你正在做$title = print ...,然后是echo $titleprint 回显到屏幕,然后返回 1。
  • @Rocket 耶!做到了! :D 谢谢
  • 在这种情况下,我应该将此答案标记为正确吗?还是下面这个?不知道该怎么办...
  • 好吧,如果他们都正确,请选择您认为最清楚并且更有可能帮助将来提出类似问题的人的一个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-22
  • 1970-01-01
  • 2011-12-27
  • 1970-01-01
  • 2014-09-17
  • 2017-01-15
  • 1970-01-01
相关资源
最近更新 更多