Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP, ongelma funktioiden kanssa

kayttaja-5600 [13.09.2006 21:00:40]

#

Terve!

Haluaisin käsitellä samaa muuttujaa kahden funktion sisällä ja niiden ulkopuolella. Esimerkki-koodi:

<?php

$muuttuja = 0;

funkkari1($muuttuja);
funkkari2($muuttuja);

function funkkari1($a) {
$a++;
}

function funkkari2($b) {
$b += 2;
}

?>

Koodi on sisällytetty toiseen php-dokumenttiin ja tuo muuttuja pitäisi saada näkymään html-osassa, esim:

<?php print $muuttuja; //tulostaisi 3 ?>

Olen kokeillut globalia, mutta mitään en ole saanut aikaiseksi. Sekin riittää jos tuon saisi toimimaan yhdellä funktiolla :)

Antti Laaksonen [13.09.2006 21:04:32]

#

Kirjoita funktioiden alut näin:
function funkkari1(&$a) {
function funkkari2(&$b) {

Merkki & tarkoittaa, että funktio pystyy muuttamaan sille annetun muuttujan arvoa pysyvästi.

Jos käytät globalia, muuta suoraan muuttujaa äläkä funktion parametria.

function funkkari3() {
    global $muuttuja;
    $muuttuja++;
}

Olga [13.09.2006 21:28:22]

#

Globaalit muuttujat ovat pahasta. Eli laita muuttuja parametriksi, tee funktiossa sille tarvittavat temput ja palauta se. Eli $muuttuja = teeTemput($muuttuja).

kayttaja-5600 [13.09.2006 22:01:54]

#

Kiitos, hyvin toimii!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta