我无法理解下面的PHP功能代码 -

时间:2017-07-09 11:41:52

标签: php

如何打印hello - 如果hello为true,则该函数必须打印hello,但如果函数没有收到hello或者hello为false,则该函数必须打印再见。

API level 17

4 个答案:

答案 0 :(得分:1)

因此,如果您不想要任何条件,可以将默认值bye添加到para,eter。并简单地回应它

<?php

function showMessage($hello="bye"){
  echo $hello;
}
?>

答案 1 :(得分:0)

基本上($hello)?'hello':'bye';是以下的简写:

if ($hello == true) { 
  echo 'hello';
} else {
  echo 'bye';
}

参考:http://php.net/manual/en/control-structures.if.php

答案 2 :(得分:0)

您正在使用函数内部的三元运算符,它将检查变量truefalse的类型。默认情况下,$hello变量类型将为false。

所以下面的代码将检查变量类型是否为真然后prine'hello'否则三元运算符将打印'再见'。

与以下相同

if($hello==true){
    echo 'hello';
}else{
   echo 'bye';
}

答案 3 :(得分:0)

showMessage('abc')现在打印&#39;你好&#39;是因为($ hello)将作为非空字符串计算为true。

我猜你要找的是类型比较运算符===。它将检查传递的参数是否实际上是一个布尔值。

function showMessage($hello=false) {
   echo ($hello === true)?'hello':'bye';
}