Változó érték nélküli, akkor típusa: NULL Változó értéke pozitív egész szám, pl: 3, akkor típusa: integer Változó értéke negatív egész szám, pl: -3, akkor típusa: integer Változó értéke pozitív és tizedes számot is tartalmaz , pl: 3.235, akkor típusa: double Változó értéke negatív és tizedes számot is tartalmaz , pl: -3.235, akkor típusa: double Változó értéke karakterlánc, pl: harom, akkor típusa: string Változó értéke karakterlánc, pl: harom333, akkor típusa: string Változó értéke karakterlánc, pl: 333harom, akkor típusa: string Változó értéke karakterlánc , pl: harom3.235, akkor típusa: string Változó értéke karakterlánc, pl: h3h2h5, akkor típusa: string Változó értéke logikai, pl: true, akkor típusa: boolean Változó értéke logikai, pl: false, akkor típusa: boolean |
<?php // Értékadás nélküli deklaráció, NULL $teszt=NULL; print ("Változó érték nélküli, akkor típusa: ".gettype( $teszt ). "<br />"); // Értéke egészszám. $teszt = 3; print ("Változó értéke pozitív egész szám, pl: 3, akkor típusa: ".gettype( $teszt ). "<br />"); $teszt = -3; print ("Változó értéke negatív egész szám, pl: -3, akkor típusa: ".gettype( $teszt ). "<br />"); // Értéke double szám. $teszt = 3.235; print ("Változó értéke pozitív és tizedes számot is tartalmaz , pl: 3.235, akkor típusa: ".gettype( $teszt ). "<br />"); $teszt = -3.235; print ("Változó értéke negatív és tizedes számot is tartalmaz , pl: -3.235, akkor típusa: ".gettype( $teszt ). "<br />"); // Értéke karakterlánc. $teszt = "harom"; print ("Változó értéke karakterlánc, pl: harom, akkor típusa: ".gettype( $teszt ). "<br />"); $teszt = "harom333"; print ("Változó értéke karakterlánc, pl: harom333, akkor típusa: ".gettype( $teszt ). "<br />"); $teszt = "333harom"; print ("Változó értéke karakterlánc, pl: 333harom, akkor típusa: ".gettype( $teszt ). "<br />"); $teszt = "harom3.235"; print ("Változó értéke karakterlánc, pl: harom3.235, akkor típusa: ".gettype( $teszt ). "<br />"); $teszt = "h3h2h5"; print ("Változó értéke karakterlánc, pl: h3h2h5, akkor típusa: ".gettype( $teszt ). "<br />"); // Értéke logikai. $teszt = true; print ("Változó értéke logikai, pl: true, akkor típusa: ".gettype( $teszt ). "<br />"); $teszt = false; print ("Változó értéke logikai, pl: false, akkor típusa: ".gettype( $teszt ). "<br />"); ?>
Összegezve a gettype() függvény:
A PHP nyelvre jellemző, az ún. Type Juggling ami lehetővé teszi, hogy a változó típusát a környezete határozza meg, melyben használjuk.
Ezt adtuk meg: $valtozo = ”k”; Programunk ezt írja ki= k Típusa ez lesz: string
Ezt adtuk meg: $valtozo += 5; Programunk ezt írja ki= 5 Típusa ez lesz: integer ( PHP Figyelmeztetés: Nem numerikus érték található.)
Ezt adtuk meg: $valtozo = k; Programunk ezt írja ki= k Típusa ez lesz: integer ( PHP Figyelmeztetés: Nem definiált k konstans - feltételezzük, hogy „k” )
Ezt adtuk meg: $valtozo += 5; Programunk ezt írja ki= 10 Típusa ez lesz: integer
Ezt adtuk meg: $valtozo = ”1”; Programunk ezt írja ki= 1 Típusa ez lesz: string
Ezt adtuk meg: $valtozo += 5; Programunk ezt írja ki= 6 Típusa ez lesz: integer ( Ősszeadja előző string és most meghatározott integer értéket. "1" + 5 = 6 )
Ezt adtuk meg: $valtozo = 1; Programunk ezt írja ki= 1 Típusa ez lesz: integer
Ezt adtuk meg: $valtozo += 5; Programunk ezt írja ki= 6 Típusa ez lesz: integer ( 1 + 5 = 6 )
Ezt adtuk meg: $valtozo = $valtozo + 3.3; Programunk ezt írja ki= 9.3 Típusa ez lesz: double ( 6 + 3,3 = 9,3 )
Ezt adtuk meg: $valtozo = 5 + ”10 Nagy Elefánt”; Programunk ezt írja ki= 15 Típusa ez lesz: integer
Ezt adtuk meg: $valtozo = 5 + ”Nagy Elefánt 10”; Programunk ezt írja ki= 5 Típusa ez lesz: integer ( PHP Figyelmeztetés: Nem numerikus érték található.)
Tömbre való átalakítás, jelenleg nem elérhető.
Ezt adtuk meg: $a = ”L”; Programunk ezt írja ki= L Típusa ez lesz, gettype($a) = string
Ezt adtuk meg: $a[0] = ”B”; Programunk ezt írja ki= B Típusa ez lesz, gettype($a[0]) = string
Figyeljük meg a következő példákat, string értéknél, betűt lecserél vagy elvesz.
Ezt adtuk meg: $a = ”Le”; Programunk ezt írja ki, $a = Le Típusa ez lesz, gettype($a) = string
Ezt adtuk meg: $a[0] = ”B”; Programunk ezt írja ki, $a[0] = B Típusa ez lesz, gettype($a[0]) = string
Ezt adtuk meg: $a = ”Letesz”; Programunk ezt írja ki, $a = Letesz Típusa ez lesz, gettype($a) = string
Ezt adtuk meg: $a[0] = ”Bel”; Programunk ezt írja ki, $a[0] = B Típusa ez lesz, gettype($a[0]) = string
A gettype() függvény használata, olyan programokban hasznos, ahol az if feltételek meghatározása, nagyon bonyolult lenne.
Következő példánkban, egy darabáru értékesítéssel foglalkozó vállalkozáshoz érkező adat feldolgozása kerül bemutatásra.
Ahhoz, hogy programunk a fent meghatározott feltételeket ellenőrizni tudja, nagyon sok feltételt kellene beírnunk, mert nem
tudhatjuk előre, hogy mennyit fognak rendelni, és megrendelésnél milyen értéket írnak be.
Ebbe segít a gettype() függvény, mely a megrendelésnél beírt érték hatására történő változásból, egy lépésben kiszűri, hogy
egészszámú "integer", vagy nem egészszámú "double", a változás.
Fent leírtak teszteléséhez, készítünk egy kis űrlapot.
Az űrlapmezőbe beírt adatot, továbbítjuk a feldolgozóprogramunknak, majd az eredményt megjeleníti.
<a name="gettype" id="gettype"></a> <------- Ide küldi programunk, a választ.
A php programunk megírása.
<?php if (isset($_POST['elkuldott'])) { echo "<form method='POST' action='gettype_fv.php'>"; $teszt= $_POST['adat']; $keszlet=1000; $marad=$keszlet-$teszt; $valtozas= gettype($marad); if($valtozas==integer and $teszt>0 and $marad>=0) { print ("<b>Megrendelt tétel: kiadható</b><br />"); } else print ("Megrendelt tétel:<br />Csak egészszám lehet!<br />Nem lehet NULLA<br />Jelenleg rendelhető= ".$keszlet." db."); echo "</form>"; } ?> <hr> <form method="POST" action="gettype_fv.php#gettype"> <input type="hidden" name="elkuldott" value="true"> <p><b>Rendelt mennyiség:</b> <input type="text" name="adat" ></p> <p><input type="submit" value="Érték elküldése"></p> </form>