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 :)
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++;
}Globaalit muuttujat ovat pahasta. Eli laita muuttuja parametriksi, tee funktiossa sille tarvittavat temput ja palauta se. Eli $muuttuja = teeTemput($muuttuja).
Kiitos, hyvin toimii!
Aihe on jo aika vanha, joten et voi enää vastata siihen.