Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [PHP] Global variabelen (https://forum.scholieren.com/showthread.php?t=264279)

Gus 30-10-2002 18:49

[PHP] Global variabelen
 
Kan iemand me helpen? Ik heb twee functies, die ik voor het gemak maar functie_a() en functie_b() noem.

In functie_a() moet een variabele gedefinieerd worden (bijv. fiets$="gestolen";)

In functie_b() wil ik die variabele vervolgens graag afdrukken.

Ik loop nu al een dag lang te rommelen met static, global en allerlei tutorials: het lijkt me extreem simpel (in Java is dit absoluut geen probleem) maar ik kom er niet goed uit. Help!

Koen 30-10-2002 20:37

Keb précies 'tzelfde probleem. Ik krijg een variable niet dusdanig 'global' dat ie in een andere functie of file ook weer af te drukken is.. Moet toch kunnen zou je zeggen :\

Dreamzilla 30-10-2002 21:59

Citaat:

Gus schreef:
Kan iemand me helpen? Ik heb twee functies, die ik voor het gemak maar functie_a() en functie_b() noem.

In functie_a() moet een variabele gedefinieerd worden (bijv. fiets$="gestolen";)

In functie_b() wil ik die variabele vervolgens graag afdrukken.

Ik loop nu al een dag lang te rommelen met static, global en allerlei tutorials: het lijkt me extreem simpel (in Java is dit absoluut geen probleem) maar ik kom er niet goed uit. Help!

functie($exec) { if ($exec == "a") { bepaal var } elseif ($exec == "b") { echo var } }; ?!!! zo iets dan zal wel fout in zitten

Koen 30-10-2002 22:00

Citaat:

Dreamzilla schreef:
functie( if ($exec == "a") { bepaal var } elseif ($exec == "b") { echo var } ); ?!!!
Dat is 't dus niet. Je wil 'm niet echo-en, alleen later gebruiken in een file of een andere functie.

Dreamzilla 30-10-2002 22:02

Citaat:

Koen schreef:
Dat is 't dus niet. Je wil 'm niet echo-en, alleen later gebruiken in een file of een andere functie.
ghe global moet werken volgens mij ff proberen brb :D

Dreamzilla 30-10-2002 22:10

PHP-code:

<?
 function globalvar() {
  global $var;
  $var = "blaat";
 }
 
 function echoglobalvar($var) {
  echo "$var";
 };
?>

omdit weer te geven

PHP-code:

<?
 globalvar();
 echoglobalvar($var);
?>

ditte?
:)
http://dreamzilla.endoria.net/functesje/index.php
http://dreamzilla.endoria.net/functesje/index.phps
http://dreamzilla.endoria.net/functesje/funct.phps

Gus 30-10-2002 22:14

oh, sorry, je had alweer gereplie'd. het is inderdaad ongeveer wat ik bedoel, maar werkt dit ook als ik in de tweede functie niet $var als argument wil meegeven? dus dat je twee functies hebt zonder argumenten.

-
oude koek:

mijn probleem is als volgt: een functie telt hoevaak hij is aangeroepen (voorbeeldje hoor). dat slaat hij op in de variabele $aangeroepen.

een *andere* functie moet vervolgens afdrukken hoevaak de eerste functie is aangeroepen, $aangeroepen echo'en dus.

je zou denken: declareer de variabele $aangeroepen in allebei de functies als global, static of allebei tegelijk, maar wat ik ook doe: php geeft me een foutmelding. hij print dus niet "0", maar hij stopt echt met processen. php moet dat kunnen, lijkt me in ieder geval heel zinnig.

Dreamzilla 30-10-2002 22:17

Citaat:

Gus schreef:
mijn probleem is als volgt: een functie telt hoevaak hij is aangeroepen (voorbeeldje hoor). dat slaat hij op in de variabele $aangeroepen.

een *andere* functie moet vervolgens afdrukken hoevaak de eerste functie is aangeroepen, $aangeroepen echo'en dus.

je zou denken: declareer de variabele $aangeroepen in allebei de functies als global, static of allebei tegelijk, maar wat ik ook doe: php geeft me een foutmelding. hij print dus niet "0", maar hij stopt echt met processen. php moet dat kunnen, lijkt me in ieder geval heel zinnig.

werkt niet wat hier bovenstaat? want ik begrijp dat $aangeroepen in een 2e functie moet worden weergegeven wat hier boven staat doet dat ook maar dan met $var... ghe ik denk dat als hij 0 geeft dat het counterschriptje niet goed werkt probeer eens het kale scriptje in een functie meteen te laten echoen om zo te zien wat hij zonder omweg weergeeft... ?!

dit mag btw ook

PHP-code:

<?
 function globalvar() {
  global $var;
  $var = "blaat";
 }
 
 function echoglobalvar($var) {
  globalvar();
  echo "$var";
 };
?>

PHP-code:

<?
 echoglobalvar($var);
?>


Gus 30-10-2002 22:18

chaos, zie mijn ge-edite post.

Dreamzilla 30-10-2002 22:20

je bedoelt functie2() {} ipv functie2($var){} ?! nee dit kan niet je moet de buitestaande vars (die niet in de functie zelf gemaakt worden) altijd er bij zetten

Gus 30-10-2002 22:24

ok, dat lost het mysterie op! merci bien.

Dreamzilla 30-10-2002 22:24

nt suc6 verder :)

Koen 31-10-2002 09:21

Citaat:

Dreamzilla schreef:
je bedoelt functie2() {} ipv functie2($var){} ?! nee dit kan niet je moet de buitestaande vars (die niet in de functie zelf gemaakt worden) altijd er bij zetten
Oke, daar kan ik mee leven. Maar hoe maak ik dan een variable in een functie dusdanig global dat ik 'm elders in een file waar die functie gebruikt is ook weer uit kan lezen?

Manuzhai 31-10-2002 10:02

Als je gewoon een variabele global maakt aan het begin van je functie, je geeft hem daarna een waarde, dan moet je die waarde later ook buiten die functie kunnen uitlezen, en zelfs in een andere functie, maar pas nadat je de var ook in die functie weer hebt geglobald.

Misschien kun je de $_GLOBALS gebruiken, dat is waarschijnlijk intuitiever. Die array is altijd global, dus als je daar een waarde inzet kan je die sowieso overal gebruiken.

Ik weet trouwens even niet of het $_GLOBALS, $GLOBALS of $GLOBAL is, maar goed. :)

Dreamzilla 31-10-2002 14:57

Citaat:

Koen schreef:
Oke, daar kan ik mee leven. Maar hoe maak ik dan een variable in een functie dusdanig global dat ik 'm elders in een file waar die functie gebruikt is ook weer uit kan lezen?
de 1e function file include in de 2e functionfile?!!


Alle tijden zijn GMT +1. Het is nu 03:47.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.