应该将啥传递给 if() 以打印“Hello World”?
Posted
技术标签:
【中文标题】应该将啥传递给 if() 以打印“Hello World”?【英文标题】:What should be passed into if() to print 'Hello World'?应该将什么传递给 if() 以打印“Hello World”? 【发布时间】:2012-05-12 20:24:31 【问题描述】:应该将什么传递给 if() 以将输出打印为“Hello World”? [注意:它应该执行else块。]
if(?)
else
echo "World";
【问题讨论】:
if(0)
、if(null)
、if(false)
等之一
如果我通过(回显“Hello”)。它不会工作,因为 echo 不返回任何东西
我赞成它,因为仅仅因为它是家庭作业就拒绝一个问题是不公平的。这是一个有效的问题,它比我经常在这个网站上看到的许多问题都问得好。
我投了赞成票,因为很多有经验的开发者都搞错了!
+1 重要的一课 SO 用户:1. 仔细阅读问题......并在投票前有耐心。 3.不要低估新用户和家庭作业问题
【参考方案1】:
我需要评估为假,并同时打印“Hello”。 printf
在成功时返回输出字符串的长度,当在布尔上下文中读取时,评估 到 true
。因此,将计算结果反转为 false,执行 else 块。
if(!printf("Hello "))
else
echo "World";
【讨论】:
这是一个技巧问题^^。你可以 if (printf("Hello"), false) else printf("World"); 我认为教授/导师想要一些与“Hello”相呼应并返回 false 的东西。 @BigMike:这甚至是合法的语法吗? 为了迂腐,printf()
返回打印的输出字符串的长度。打印一个非空字符串当然会返回一个真值(在布尔上下文中计算为真的值)。
@BoltClock:谢谢程序员纳粹(以一种很好的方式!我也是:D)更正。【参考方案2】:
!printf("Hello ")
默认情况下,'C' 中的 printf 返回 true。
【讨论】:
如果 printf 在 php 中可用,那应该可以正常工作 - 逻辑是正确的,并且您在“Hello”之后放入空格。【参考方案3】:if(!printf("Hello "))
else
echo "World";
你可以这样做...
【讨论】:
【参考方案4】:这个问题还有一个替代解决方案:
class test
function __construct()
echo "Hello";
if(!new test)
else
echo "World";
【讨论】:
【参考方案5】:任何计算结果为FALSE
。
【讨论】:
哎呀。如果您没有仔细阅读问题,就会发生这种情况:)【参考方案6】:如果理解逻辑结果,我的意思是TRUE-FALSE
所以任何导致真/假结果的条件都很重要,如果你可以使用
if(true)
echo 'this is executed';
else
echo "world";
或
if(false)
echo 'this is executed';
else
echo "world";
我希望这有效
【讨论】:
【参考方案7】:if(printf("Hello "))
else
echo "World";
我认为这就够了.....如果没有,请见谅
【讨论】:
以上是关于应该将啥传递给 if() 以打印“Hello World”?的主要内容,如果未能解决你的问题,请参考以下文章
Equatable 的子类将啥传递给超级(Equatable 类)?
将啥传递给 sqlite create_function 任意指针