några sidor på nätet om PHP programmering

Sök efter  
Börja här Uppgifter Testa dig själv Tips Sidokarta mm. Länkar Sök

Räckvidd Kontroll Konstanter

1.4 Variabler

PHP har inte starkt typsatta variabler som t.ex. Java eller C. Detta betyder inte att det inte finns datatyper. Se även variables *

Heltal (integer)

Man behöver inte säga åt PHP att en variabel är en heltalsvariabel, den märker det av sammanhanget. Se nedan:

<?php
    $nummer
= 100;
    echo
$nummer + 100;
    echo
"<br />";
    
# observera att nedanstående kommer att
    # tolkas som heltalsaddition
    
echo $nummer + "10 små negerpojkar";
?>
Listning 1.4.1 - samples/s24.php

200
110
Resultat av listning 1.4.1

Decimaltal (double)

Decimaltal måste anges med punkt (som vanligt).

<?php
    $nummer
= 100.34;
    echo
$nummer + 100;
    echo
"<br />";
    
# observera att nedanstående kommer att
    # tolkas som addition
    
echo $nummer + "10 små negerpojkar";
?>
Listning 1.4.2 - samples/s25.php

200.34
110.34
Resultat av listning 1.4.2

True / False (boolean)

<?php
    
# true och false är fördefinierade
    
$rätt = true;
    
$fel = false;
    if ( !
$fel == $rätt )
    {
        echo
"inte fel blir rätt";
    }
?>
Listning 1.4.3 - samples/s26.php

inte fel blir rätt
Resultat av listning 1.4.3

Strängar (string)

<?php
    
# hur variabeln tolkas beror lite på sammanhanget
    
$texten = "101 dalmatiner ";
    echo
$texten + 100;
    echo
"<br />";
    echo
$texten . 100;
?>
Listning 1.4.4 - samples/s27.php

201
101 dalmatiner 100
Resultat av listning 1.4.4

Tid och datum

Tid och datum är som vanligt ett mångfacetterat problem, så jag tar upp dessa separat. Tänkte bara påminna om att de finns.

Typkonverteringar

Ibland är det helt OK att kompilatorn tolkar datat och avgör vilken typ data är, men ibland vill man styra det själv. Det finns tre olika metoder att konvertera mellan datatyperna: settype, xxxval och casting. Nedan visas ett program som använder alla metoderna.

<?php
    $texten
= "39.3 graders feber";

    echo
"Texten okonverterad: " . $texten . "<br />";

    echo
"<br />Användning av settype<br />";
    echo
"-----------------------------------------------<br />";

    
settype( $texten, "double");
    echo
"Texten som double: " . $texten . "<br />";    
    
    
# modifierar ju datatypen så jag måste återställa variabeln
    
$texten = "39.3 graders feber";
    
settype( $texten, "integer");
    echo
"Texten som integer: " . $texten . "<br />";    

    
$texten = "39.3 graders feber";
    
settype( $texten, "string");
    echo
"Texten som string: " . $texten . "<br />";    

    echo
"<br />Användning av strval, doubleval och intval<br />";
    echo
"-----------------------------------------------<br />";

    
$texten = "39.3 graders feber";
    echo
"Texten som double: " . doubleval($texten) . "<br />";    
    
    echo
"Texten som integer: " . intval($texten) . "<br />";    

    echo
"Texten som string: " . strval($texten) . "<br />";    

    echo
"<br />Användning av C-liknande casting<br />";
    echo
"-----------------------------------------------<br />";

    
$texten = "39.3 graders feber";
    echo
"Texten som double: " . (double) $texten . "<br />";    
    
    echo
"Texten som integer: " . (integer) $texten . "<br />";    

    echo
"Texten som string: " . (string) $texten . "<br />";
?>
Listning 1.4.5 - samples/s29.php

Texten okonverterad: 39.3 graders feber

Användning av settype
-----------------------------------------------
Texten som double: 39.3
Texten som integer: 39
Texten som string: 39.3 graders feber

Användning av strval, doubleval och intval
-----------------------------------------------
Texten som double: 39.3
Texten som integer: 39
Texten som string: 39.3 graders feber

Användning av C-liknande casting
-----------------------------------------------
Texten som double: 39.3
Texten som integer: 39
Texten som string: 39.3 graders feber
Resultat av listning 1.4.5

 

   Börja härVariabler