如何打印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是假的,而不使用任何其他條件和三元運算符。 –