2017-07-09 4 views
-2

Wie es hallo drucken - Wenn hallo wahr ist, dann muss die Funktion Hallo drucken, aber wenn die Funktion hallo nicht oder hallo ist falsch, die Funktion muss tschüss drucken.Ich kann nicht verstehen, unten php Funktionscode -

<?php 
function showMessage($hello=false){ 
    echo ($hello)?'hello':'bye'; 
} 
?> 
+1

Und was ist das Problem mit dieser Funktion? –

+1

Es ist eine Kurzform, wenn/sonst, siehe hier: https://stackoverflow.com/questions/1506527/how-doi-use-shorthand-if-else – chrki

+0

Problem ist, wenn ich diese Funktion wie showMessage aufrufen (" abc "), dann druckt es auch" Hallo ". Ich suche auch, wie ich "hallo" drucken kann, wenn $ hallo wahr ist und "tschüss", wenn $ hallo falsch ist, ohne irgendeine Bedingung oder Ternäroperator andernfalls zu verwenden. –

Antwort

0

Grundsätzlich ($hello)?'hello':'bye'; ist die Abkürzung für:

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

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

+0

Ich bin damit einverstanden, aber ich suche wie kann ich "Hallo" drucken, wenn $ Hallo ist wahr und "tschüss", wenn $ Hallo ist falsch, ohne Verwendung, wenn sonst Bedingung und Ternär-Operator. –

0

Sie verwenden ternäre Operator innerhalb Funktion, die den Typ der Variablen true oder false überprüfen. Standardmäßig ist $hello Variablentyp falsch.

So unter Code wird prüfen, ob der Variablentyp wahr ist, dann Prine 'Hallo' sonst ternären Operator wird 'tschüss' gedruckt werden.

Es ist die gleiche wie wie unten

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

Wenn Sie also Sie Standardwert bye Abs, eter hinzufügen können keine Bedingung wollen. Und einfach echo es

<?php 

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

Der Grund, warum showMessage('abc') jetzt druckt ‚Hallo‘ ist, weil die ($ hallo) als nicht leere Zeichenfolge zu true ausgewertet wird.

Ich denke, was Sie suchen, ist der Typ Vergleichsoperator ===. Es überprüft, ob das übergebene Argument tatsächlich ein boolescher Wert ist.

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