×
Creating solutions

Ako zobraziť hodnoty boolean cez príkaz echo (PHP)

Pre výpis dát do internetového prehliadača je možné použiť viacero príkazov a funkcií. Ja osobne najviac preferujem príkaz echo. Dôvodom je rýchly zápis a možnosť vložiť viacero dát pre zobrazenie súčasne čo zároveň skracuje programový kód. No príkaz echo má aj svoje obmedzenia. Príkladom je výpis hodnôt typu boolean, ako aj array. V tomto článku sa budem venovať dátovému typu boolean, teda pravdivostným hodnotám true a false, resp. 0 a 1.
Na začiatok uvediem krátku demonštráciu výstupu príkazu echo, ak premenná obsahuje hodnotu typu boolean.
Príklad: Demonštrácia výpisu hodnôt true a false cez echo.
1
2
3
4
5
6
7
$boolean = true;
echo $boolean; // vypíše 1
echo "<br>";
$boolean = false;
echo $boolean; // nevypíše nič
Pre výpis hodnôt typu boolean nie je možné použiť ani funkciu print_r(). Zostáva tak k dispozícii funkcia var_dump().
Príklad: Demonštrácia výpisu hodnôt true a false cez funkciu var_dump().
1
2
3
4
5
6
7
$boolean = true;
var_dump($boolean); // vypíše bool(true)
echo "<br>";
$boolean = false;
var_dump($boolean); // vypíše bool(false)
Jednou z možností ako zobraziť pravdivostnú hodnotu cez príkaz echo je konverzia dátového typu. Nasledujúci príklad demonštruje prácu s Reflection a výpis hodnôt typu boolean cez príkaz echo. Reflection je API, ktoré slúži na reverzný inžiniering tried, rozhraní, funkcií, metód a rozšírení. V tomto prípade budeme skúmať jednoduchú triedu s názvom MyClass a jej metódu s názvom myMethod. Pre konverziu dátového typu boolean je použitý zápis (int).
Príklad: Konverzia bool na int.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class MyClass {
public $myProperty = 1;
public function myMethod() {
echo "My method" . "<br>";
}
}
$method = new ReflectionMethod("MyClass", "myMethod");
echo (int) $method -> isPublic(); // vypíše 1
echo "<br>";
echo (int) $method -> isPrivate(); // vypíše 0
echo "<br>";
echo (int) $method ->isConstructor(); // vypíše 0
Typová konverzia prebieha na princípe v zátvorke uvedený dátový typ a za zátvorkou uvedený pôvodný typ. V príklade sa preto konvertuje boolean (bool) na integer (int), teda pravdivostná hodnota na celočíselnú. Ďalší spôsob konverzie je možné cez podmienkový operátor ?, nazývaný aj ternárny operátor, keďže obsahuje tri operandy. V nasledujúcom príklade sú výstupom reťazce true a false.
Príklad: Konverzia bool na string.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class MyClass {
public $myProperty = 1;
public function myMethod() {
echo "My method" . "<br>";
}
}
$method = new ReflectionMethod("MyClass", "myMethod");
echo ($method -> isPublic()) ? "true" : "false";
echo "<br>";
echo ($method -> isPrivate()) ? "true" : "false";
echo "<br>";
echo ($method -> isConstructor()) ? "true" : "false";
Ako som na začiatku spomenul, príkaz echo má svoje výhody v podobe výpisu viacerých dát súčasne, a preto je predchádzajúci príklad možné skrátiť nasledovne.
Príklad: Skratenie programového kódu cez príkaz echo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class MyClass {
public $myProperty = 1;
public function myMethod() {
echo "My method" . "<br>";
}
}
$method = new ReflectionMethod("MyClass", "myMethod");
echo ($method -> isPublic()) ? "true" : "false", "<br>",
($method -> isPrivate()) ? "true" : "false", "<br>",
($method -> isConstructor()) ? "true" : "false", "<br>";
Riadky 12, 13 a 14 môžu byť na jednom riadku čím sa skrátiť programový kód. Okrem operátora , je možné používať s príkazom echo aj operátor .. Oba operátory zabezpečia výpis takto priradených dát. Rozdiel je v tom, že operátor . slúži pre spájanie reťazcov, a tak ak výsledkom operácie je priradenie a zobrazenie súčasne, dôjde k nesprávnemu priradeniu hodnoty.
Príklad: Použitie operátora , .
1
2
3
echo $result = 1, 2, 4, "data";
echo "<br>";
echo $result; // vypíše 1
Príklad: Použitie operátora . .
1
2
3
echo $result = 1 . 2 . 4 . "data";
echo "<br>";
echo $result; // vypíše 124data

Záver

Príkaz echo je veľmi dobrým a efektívnym pomocníkom pre výpis dát v internetovom prehliadači. Po menšej úprave nie je problém zobrazovať ani dáta typu boolean.
Autor: Matej Lednár
Dátum: 4.1.2013
Kategória: PHP
Značky: programovanie, bool, print_r, var_dump, reflection, boolean, echo


PHP,programovanie,bool,print_r,var_dump,Reflection,boolean,echo
No part of this article may be reproduced without mention of the author and URL to this website.
For more information, see the About section.

Comments

Article has no comments.

Add a comment

Name (required)
Website
Message (required)
Submit
From latest