echo result(1);
function reslut($num)
{ if($num == 1) return 0; if($num == 0) return 1;
}
Wie kann ich dies tun, ohne eine if
oder else
Aussage zu verwenden?Wie drucke ich ohne wenn sonst?
echo result(1);
function reslut($num)
{ if($num == 1) return 0; if($num == 0) return 1;
}
Wie kann ich dies tun, ohne eine if
oder else
Aussage zu verwenden?Wie drucke ich ohne wenn sonst?
ternären Operator verwenden, können Sie das tun, aber Sie können nur eine Bedingung definieren
Das ist wirklich nur ein Kommentar. Um es zu einer Antwort zumindest ein Beispiel zu zeigen – RiggsFolly
Google it dude. Nur –
google @vikrammistry Es liegt an Ihnen, wenn Sie eine Antwort zu stellen. Aber hör auf anzunehmen, dass die Veröffentlichung des Äquivalents von "Google it" eine vernünftige Antwort ist. – chepner
Verwenden Sie den ?:
Operator wie folgt:
$num == 1 ? when_true_expression : when_false_expression;
Sie nisten können diesen Operator.
Sie könnten einfach eine !
in der Funktion wie folgt verwenden, als ob die betreffende Variable entweder 1 oder 0 sein im Allgemeinen ein boolean
function result($num)
{
return (int)!$num;
}
$t = 0;
$t = result($t);
echo $t . PHP_EOL;
$t = result($t);
echo $t . PHP_EOL;
$t = result($t);
echo $t . PHP_EOL;
$t = result($t);
echo $t . PHP_EOL;
Ergebnis ist:
1
0
1
0
Danke lieber frd –
Ich stellte habe Ihre Funktion - der Name result
gegeben und hinzugefügt, um das Argument $num
.
Beachten Sie, wie es tatsächlich drei mögliche Rückgabewerte: 0, 1 und null.
Weil Sie nicht den identischen Vergleichsoperator (eher verwenden Sie den gleichen Vergleichsoperator), Ausgang vielleicht nicht, was Sie erwarten, wie Php irgendeine Art Jonglier tun kann.
Ich habe eine Funktion hinzugefügt, die eine Eingabe von 1 gegeben 0 zurück, und eine Eingabe von 0 gegeben wird 1 zurückkehren, andere Eingang den Wert null zurück.
<?php
// Your function.
function result($num)
{
if($num == 1)
return 0;
if($num == 0)
return 1;
}
function swap_one_and_zero($num)
{
return in_array($num, [1,0], true) ? $num^1 : null;
}
$tests = [-1, 0, 1, 1.1, 2, 'a', 'foo', null];
var_export(
array_map('result', $tests)
);
var_export(
array_map('swap_one_and_zero',$tests)
);
Output-Arrays:
array (
0 => NULL,
1 => 1,
2 => 0,
3 => NULL,
4 => NULL,
5 => 1,
6 => 1,
7 => 1,
)
array (
0 => NULL,
1 => 1,
2 => 0,
3 => NULL,
4 => NULL,
5 => NULL,
6 => NULL,
7 => NULL,
)
Ich habe eine zusammengezogen, wenn else-Anweisung mit dem ternären Operator verwendet. Und nutzte die xor bitweise Operator Flip zwischen 1 und 0.
Wenn Sie allergisch auf ifs sind, können Sie Ihre Funktion mit einem Gleiches mit Gleichem mit switch-Anweisungen ersetzen könnte:
function result($num)
{
switch($num) {
case 1:
return 0;
break;
case 0:
return 1;
break;
}
}
'return! $ num'? – chepner
Beachten Sie, dass Ihre 'reslut' -Funktion keine Argumente hat. Wahrscheinlich wollten Sie '$ num'. – Progrock
Und 'result' ist eine andere Funktionsnamen' reslut'. – Progrock