ugrás a tartalomhoz

aktuális hónap lekérdezése, integerré alakítása

rőt pajesz · 2006. Május. 11. (Cs), 14.34
Sziasztok,

az aktuális hónapra kell vizsgálnom valamit, de a date("n"); nem integert ad vissza. Van rá mód, hogy ezt átalakítsam integerré?

Köszi.
 
1

automatikus típus-konverzió

bbalint · 2006. Május. 11. (Cs), 15.08
automatikus típus-konverzió - ez valami olyan varázsszó, hogy a PHP magától változtatgatja az értékek típusát, az operandustól függően.
szóval egy date('n') == 5 esetén a date() egy szöveget ad vissza, viszont a jobb oldalon egy szám (integer) áll, ezért a bal oldali értéket is átalakítja számmá és úgy végzi el az összehasonlítást.

amúgy lásd az intval() függvényt, ha mindenképp szám kell neked, vagy az (int) és (integer) konvertáló "operandusokat":

<?php
 $n = date('n');
 var_dump($n == 5);
 var_dump((int)$n == 5);
 var_dump((integer)$n == 5);
 var_dump((long)$n == 5);
?>
erről a témáról a PHP kézikönyvben is olvashatsz a Bűvászkedés a típusokkal fejezetben.
2

operátor

Balogh Tibor · 2006. Május. 11. (Cs), 17.44
vagy az (int) és (integer) konvertáló "operandusokat"

A pontosság kedvéért, operátor(műveleti jel), és nem operandus.
Egy operandusú operátor:
$n = (int)date("n");
      --- ---------
       |     |
       |   operandus
       |
     operátor

Két operandusú operátor:
$n = 125  +  $x;
     --- --- --
      |   |   |
      |   |  operandus
      | operator
      |
     operandus

Három operandusú operátor:
$n = $f  ?  10  :  22;
     -- --- -- --- --
      |  |      |   |
      |  |      |   operandus
      |  --------
      |     |
      |    operator
      |
      operandus
3

függvénnyel

Anonymous · 2006. Május. 12. (P), 06.51
Ha jól emlékszem akkor erre való a settype() függvény hogy a változót a megvelelő típusúra alaktsuk ha esetleg nem olyan lenne