Ternary Operator probleem.
Alleen weergeeft hij niet de tekst die weergeven moet worden, maar inplaats daarvan helemaal niks?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$gewerkteuren = 41;
$uurtarief = 15.00;
$bruto = $gewerkteuren * $uurtarief;
$salaris = ($bruto + $bonus);
if($salaris > 700 ? "U kunt maximaal 100 euro's sparen." : "U kunt maximaal 50 euro's sparen.");
if($gewerkteuren > 40)
{
$bonus = 90.00;
echo("Uw salaris met bonus is: " . "€" . ($bruto+$bonus));
}
else
{
echo("Uw salaris is: " . "€" . $bruto);
}
?>
$gewerkteuren = 41;
$uurtarief = 15.00;
$bruto = $gewerkteuren * $uurtarief;
$salaris = ($bruto + $bonus);
if($salaris > 700 ? "U kunt maximaal 100 euro's sparen." : "U kunt maximaal 50 euro's sparen.");
if($gewerkteuren > 40)
{
$bonus = 90.00;
echo("Uw salaris met bonus is: " . "€" . ($bruto+$bonus));
}
else
{
echo("Uw salaris is: " . "€" . $bruto);
}
?>
2. Een ternary is een vervanging van een if statement, dus die if heb je niet nodig
3. je moet de uitkomst ervan wel ergens aan toekennen (of direct printen)
Code (php)
1
2
3
2
3
<?php
echo ($salaris > 700) ? "U kunt maximaal 100 euro's sparen." : "U kunt maximaal 50 euro's sparen.";
?>
echo ($salaris > 700) ? "U kunt maximaal 100 euro's sparen." : "U kunt maximaal 50 euro's sparen.";
?>
Heb nu nog een probleempje, ik moet namelijk in de tabel weergeven of het in of uit voorraad is met de ternary operator. Alleen weergeeft hij nu nog steeds 0.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
$toshiba["merk"] = " Toshiba Sattelite ";
$toshiba["model"] = " A100 ";
$toshiba["os"] = " Windows XP ";
$toshiba["voorraad"] = 80;
($toshiba["voorraad"] > 0) ? "In voorraad" : "Uit voorraad";
$toshiba["prijs"] = 999;
$acer["merk"] = " Acer Aspire ";
$acer["model"] = " 5732Z ";
$acer["os"] = " Linux ";
$acer["voorraad"] = 0;
$acer["prijs"] = 888;
$hp["merk"] = " HP ";
$hp["model"] = " 200X ";
$hp["os"] = " Vista ";
$hp["voorraad"] = 50;
$hp["prijs"] = 777;
$totaal = $toshiba["prijs"] + $acer["prijs"] + $hp["prijs"];
echo("<table border='1'> " .
"<caption>
<strong>SML Laptops</strong>
</caption>
<thead>
<tr><th>Merk</th><th>Model</th><th>Operating System</th><th>Voorraad</th><th>Prijs</th></tr>
</thead>
<tbody>
<tr>
<td>" . $toshiba["merk"] . "</td>" .
"<td>" . $toshiba["model"] . "</td>" .
"<td>" . $toshiba["os"] . "</td>" .
"<td>" . $toshiba["voorraad"] . "</td>" .
"<td>" . $toshiba["prijs"] . "</td>" .
"<tr>
<td>" . $acer["merk"] . "</td>" .
"<td>" . $acer["model"] . "</td>" .
"<td>" . $acer["os"] . "</td>" .
"<td>" . $acer["voorraad"] . "</td>" .
"<td>" . $acer["prijs"] . "</td>" .
"<tr>
<td>" . $hp["merk"] . "</td>" .
"<td>" . $hp["model"] . "</td>" .
"<td>" . $hp["os"] . "</td>" .
"<td>" . $hp["voorraad"] . "</td>" .
"<td>" . $hp["prijs"] . "</td>" .
"<tr>
<tfoot>
<tr><td colspan='4'>Totaal</td><td>" . $totaal . "</td></tr></tfoot></table>");
?>
$toshiba["merk"] = " Toshiba Sattelite ";
$toshiba["model"] = " A100 ";
$toshiba["os"] = " Windows XP ";
$toshiba["voorraad"] = 80;
($toshiba["voorraad"] > 0) ? "In voorraad" : "Uit voorraad";
$toshiba["prijs"] = 999;
$acer["merk"] = " Acer Aspire ";
$acer["model"] = " 5732Z ";
$acer["os"] = " Linux ";
$acer["voorraad"] = 0;
$acer["prijs"] = 888;
$hp["merk"] = " HP ";
$hp["model"] = " 200X ";
$hp["os"] = " Vista ";
$hp["voorraad"] = 50;
$hp["prijs"] = 777;
$totaal = $toshiba["prijs"] + $acer["prijs"] + $hp["prijs"];
echo("<table border='1'> " .
"<caption>
<strong>SML Laptops</strong>
</caption>
<thead>
<tr><th>Merk</th><th>Model</th><th>Operating System</th><th>Voorraad</th><th>Prijs</th></tr>
</thead>
<tbody>
<tr>
<td>" . $toshiba["merk"] . "</td>" .
"<td>" . $toshiba["model"] . "</td>" .
"<td>" . $toshiba["os"] . "</td>" .
"<td>" . $toshiba["voorraad"] . "</td>" .
"<td>" . $toshiba["prijs"] . "</td>" .
"<tr>
<td>" . $acer["merk"] . "</td>" .
"<td>" . $acer["model"] . "</td>" .
"<td>" . $acer["os"] . "</td>" .
"<td>" . $acer["voorraad"] . "</td>" .
"<td>" . $acer["prijs"] . "</td>" .
"<tr>
<td>" . $hp["merk"] . "</td>" .
"<td>" . $hp["model"] . "</td>" .
"<td>" . $hp["os"] . "</td>" .
"<td>" . $hp["voorraad"] . "</td>" .
"<td>" . $hp["prijs"] . "</td>" .
"<tr>
<tfoot>
<tr><td colspan='4'>Totaal</td><td>" . $totaal . "</td></tr></tfoot></table>");
?>
Kijk naar opmerking 3 in mijn vorige post, dat is het antwoord.
Dus ik zal hem moeten echoen waar ik $toshiba["merk"] laat zien?
Quote:
3. je moet de uitkomst ervan wel ergens aan toekennen (of direct printen)
Je kan het dus direct printen, maar ook gewoon aan een variabele toekennen en die later weer ergens voor gebruiken. Dus bijvoorbeeld:
Dus ...
De ternary operator is een kortere versie van een if/then/else.
Dit:
Code (php)
kan je schrijven als
Code (php)
1
2
3
2
3
<?php
echo ($salaris > 700 ? "U kunt maximaal 100 euro's sparen." : "U kunt maximaal 50 euro's sparen.");
?>
echo ($salaris > 700 ? "U kunt maximaal 100 euro's sparen." : "U kunt maximaal 50 euro's sparen.");
?>
De ternary operator is speciaal handig om te gebruiken binnen strings.
De operator geeft iets terug, in dit geval aan de echo.
Maar die ternary operator zal zelf die echo niet uitvoeren.
Wat in jouw geval handig zou zijn, is dat je dit doet:
Alles wat gemeenschappelijk is, zwier je buiten de ternary operator