Toon posts:

[PHP] define arrays

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik gebruik define() om bepaalde variabelen onveranderbaar te maken (i.e. global variables). Nu heb ik een array van variabelen waarmee ik graag hetzelfde wil doen. Echter:
code:
1
2
3
4
define("array[0]","waarde");
define("array[1]","waarde");
define("array[2]","waarde");
[..]

Dat vindt PHP niet lief, ik kan de variabelen vervolgens niet als array[$n] aanspreken... Kan ik arrays uberhaupt definieren en zo ja, hoe? :?.

  • Grum
  • Registratie: Juni 2001
  • Niet online
kan niet, $_GLOBALS['array'] gebruiken als je het perse wil.

Verwijderd

uit http://www.php.net/manual/en/language.constants.php
Syntax
You can define a constant by using the define()-function. Once a constant is defined, it can never be changed or undefined.

Only scalar data (boolean, integer, double and string) can be contained in constants.
Kan dus niet, het is dan ook geen variabele, maar een constante (vandaar dat het ook niet begint met een $, maar met een letter of een _ )

  • Grum
  • Registratie: Juni 2001
  • Niet online
Je slaat mis Takkie

Verwijderd

Ik zag het, had ff wat ruzie met het quoten :(
maar goed, beter te veel dan te weinig toch? :P

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 08:34
Grum:
kan niet, $_GLOBALS['array'] gebruiken als je het perse wil.
Zie ik goed dat jij hier globals aanbeveeld? :+

  • Grum
  • Registratie: Juni 2001
  • Niet online
m'n perse zegt genoeg :)

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 08:34
Grum:
m'n perse zegt genoeg :)
Ik heb jou trouwens ff nodig, dus zet je icq eens aan :P

Verwijderd

Topicstarter
Waarom kan ik op PHP.net geen info over die $_GLOBALS['bla'] vinden? :?. ;(.

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 08:34
Op dinsdag 07 mei 2002 19:30 schreef beelzebubu het volgende:
Waarom kan ik op PHP.net geen info over die $_GLOBALS['bla'] vinden? :?. ;(.
Omdat Grum het fout heeft >:)
Het is $GLOBALS en geen $_GLOBALS

>:) >:)

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 08:34
Dit topic schop ik even omhoog omdat er wel een leuke workaround is, wat een beetje op hetzelfde neerkomt :).

Als je al je defines als volgt noemt:
code:
1
2
3
define("BLABLA_01", "woei");
define("BLABLA_02", "gekkie");
define("BLABLA_03", "tweaky");

Dan kun je met php een functie maken als volgt:
PHP:
1
<?get_constant_array_value($number = 1){  $a = "BLABLA_".$number;  $b = get_defined_constants();  return $b[$a];}?>

Aanroepen:
PHP:
1
<?echo get_constant_array_value(1); // prints 'woei'?>

HTH :)

Verwijderd

PHP:
1
<?define("BLABLA_1", "woei");define("BLABLA_2", "gekkie");define("BLABLA_3", "tweaky");function get_blabla($nummer){eval("return BLABLA_$nummer;");}?>

Verwijderd

Topicstarter
Jongens, dit ziet er allebei veelbelovend uit, ik zal dit vanavond implementeren. Bedankt!!! :).

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 08:34
TimD:
PHP:
1
<?define("BLABLA_1", "woei");define("BLABLA_2", "gekkie");define("BLABLA_3", "tweaky");function get_blabla($nummer){  eval("return BLABLA_$nummer;");}?>
Jij wint :P

Verwijderd

Op zaterdag 11 mei 2002 17:36 schreef ddc het volgende:
Jij wint :P
een .. ? ;)

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 08:34
TimD:
een .. ? ;)
...eervolle vermelding in het project van beelzebubu :? :+
Pagina: 1