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.