如何打印hello - 如果hello为true,则函数必须打印hello,但如果函数没有收到hello或hello为false,则该函数必须打印再见。我在下面php中无法理解函数代码 -
<?php
function showMessage($hello=false){
echo ($hello)?'hello':'bye';
}
?>
如何打印hello - 如果hello为true,则函数必须打印hello,但如果函数没有收到hello或hello为false,则该函数必须打印再见。我在下面php中无法理解函数代码 -
<?php
function showMessage($hello=false){
echo ($hello)?'hello':'bye';
}
?>
基本上($hello)?'hello':'bye';
为简写:
if ($hello == true) {
echo 'hello';
} else {
echo 'bye';
}
我同意这一点,但我正在寻找如何打印“你好”,如果$ hello是真的,“再见”如果$ hello是假的,而不使用任何其他条件和三元运算符。 –
您正在使用内部功能三元运算符,其将检查变量true
或false
的类型。默认$hello
变量类型将为false。
因此下面的代码将检查变量类型是否为真然后prine'hello'else否则三元运算符将打印'bye'。
这是一样象下面
if($hello==true){
echo 'hello';
}else{
echo 'bye';
}
所以,如果你不想让任何条件就可以默认值bye
增加对,安静。而简单地echo它
<?php
function showMessage($hello="bye"){
echo $hello;
}
?>
之所以showMessage('abc')
现在的打印效果“你好”是因为($你好)的值为true作为一个非空字符串。
我想你要找的是类型比较运算符===
。它将检查传递的参数是否实际是一个布尔值。
function showMessage($hello=false) {
echo ($hello === true)?'hello':'bye';
}
这个功能有什么问题? –
这是一个速记if/else,请看这里:https://stackoverflow.com/questions/1506527/how-do-i-use-shorthand-if-else – chrki
问题是,每当我调用这个函数,如showMessage(“ abc“),那么它也打印”你好“。此外,我正在寻找如何打印“你好”,如果$ hello是真的,“再见”,如果$ hello是假的,而不使用任何其他条件和三元运算符。 –