NA VRH
DOMOV HTML CSS JavaScript jQuery PHP MySQL Python C# Sass WordPress
glave/headings

PHP XAMPP Spremenljivke Vrste podatkov Konstante Nizi Števila Matematika Aritmetični operatorji Operatorji dodeljevanje Primerjalni operatorji Operatorji višje in nižje vrednosti Logični operatorji Operatorji nizov Operatorji seznama Pogojni operatorji dodelitve Izjave Zanke AJAX

Spremenljivke

Spremenljivke so zabojniki za shranjevanje podatkov, in jih ustvarimo z znakom dolar, ki mu sledi ime spremenljivke [$ime]. Spremenljivki echo in print imata podobne lastnosti, oba se namreč uporabljata za izpis podatkov na zaslon. Razlika je v tem, da ukaz echo nima povratne vrednosti, medtem ko ima print povratno vrednost 1, zato ga je mogoče uporabljati v izrazih. Spremenljivka echo namreč lahko sprejme več parametrov, medtem ko spremenljivka print lahko zavzame en argument. Ukaz echo je tudi nekoliko hitrejši kot print.

Spremenljivke
Pozdravljen, svet!
5
10
Process finished with exit code 0
    <?php
    $ime = "Pozdravljen, svet!";
    $prvaStevilka = 5;
    $drugaStevilka = 10;

    echo $ime;
    echo "<br>";
    echo $prvaStevilka;
    echo "<br>";
    echo "$drugaStevilka";
    ?>
            

Dobrodošli v PHP programiranju!
Process finished with exit code 0
    <?php
    $ime1 = "Dobrodošli";
    $presledek1 = "v";
    echo "$ime1 $presledek1 PHP programiranju!";
    ?>
            

Dobrodošli v PHP programiranju!
Process finished with exit code 0
    <?php
    $ime2 = "Dobrodošli";
    $presledek2 = "v";
    echo $ime2 . " " . $presledek2 ." " . "PHP programiranju" . "!";
    ?>
            

Opazili smo lahko, da ni bilo potrebno specifično povedati PHP za kateri tip spremenljivke gre. PHP samodejno združi vrsto podatkov spremenljivki, vse je odvisno od njene vrednosti.

10
Process finished with exit code 0
    <?php
    $num1 = 3;
    $num2 = 7;
    echo $num1 + $num2;
    ?>
            

Ker tipi podatkov niso postavljeni v strogem zaporedju, lahko delamo stvari, kot je dodajanje niza v celo število, ne da bi pri tem povzročili napako. V PHP verziji 7 so bile dodane deklaracije tipa. To daje možnost, da določimo vrsto podatkov, ki jih pričakujemo ob razglasitvi funkcije, in s tem omogočimo strogo zaporedje, da na ustrezno zahtevo ne skladanja tipov, vrže napako 'Fatal Error'.

V PHP spremenljivke lahko deklariramo kjerkoli v skripti. Obseg spremenljivke je del skript-e, kjer se spremenljivka lahko sklicuje oziroma uporablja. V PHP poznamo tri različne vrste spremenljivke, ki so lokalno (ang. Local), globalno (ang. Global) in statično (ang. Static). Globalno in lokalno področje uporabe, kjer ima spremenljivka deklarirana zunaj funkcije, globalni obseg, in je dostopna samo zunaj funkcije.

Spremenljivka nmb znotraj funkcije je: če vpišemo spremenljivko $nmb znotraj funkcije, bo prišlo do napake

Spremenljivka nmb zunaj funkcije je: 23

Process finished with exit code 0
    <?php
    $nmb = 23; // globalni obseg

    function test() {
        // uporaba nmb v tej funkciji, nam bo izpisal napako
        echo "<p>Spremenljivka nmb znotraj funkcije je: $nmb</p>";
    }
    test();

    echo "<p>Spremenljivka nmb zunaj funkcije je: $nmb</p>";
    ?>
            

Ključna beseda global se uporablja za dostop do globalne spremenljivke znotraj funkcije.

65
Process finished with exit code 0
    <?php
    $a = 22;
    $b = 43;

    function test1() {
        global $a, $b;
        $b = $a + $b;
    }
    test1();
    echo $b;
    ?>
            

PHP shrani vse globalne spremenljivke v array (seznam), ki se imenuje $GLOBALS[index]. Index vsebuje ime spremenljivke. Ta niz je dostopen tudi znotraj funkcij, in ga lahko uporabimo za neposredno posodabljanje spremenljivk.

65
Process finished with exit code 0
    <?php
    $c = 22;
    $d = 43;

    function test2() {
        $GLOBALS['d'] = $GLOBALS['c'] + $GLOBALS['d'];
    }
    test2();
    echo $d;
    ?>
            

Ko je funkcija izvedena, se običajno izbrišejo vse njene spremenljivke, čeprav včasih želimo, da se lokalna spremenljivka ne izbriše, ker jo potrebujemo za nadaljnje delo.

0
1
2
Process finished with exit code 0
    <?php
    function test3() {
        static $d = 0;
        echo $d;
        $d++;
    }
    test3();
    echo "<br>";
    test3();
    echo "<br>";
    test3();
    ?>
            

Spremenljivka bo vsakič, ko bo oziroma je funkcija poklicana, vsebovala informacije, ki jih je vsebovala od zadnjega klica. Spremenljivka je kljub temu, še vedno lokalna za funkcijo.