login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[PHP] variabele array met waarde vullen (Opgelost)

Offline Sc0tTy - 10/07/2007 12:28 (laatste wijziging 10/07/2007 12:40)
Avatar van Sc0tTyPHP interesse Hallo,

Ik zoek een functie om het volgende te doen

  1. function( $array , $key , $waarde );


wat de functie moet doen is de gewenste array ( deze moet string als invoer kunnen hebben ( dus de naam van de array , niet de array zelf ) ) en dan de gewenste key de waarde geven.

ik heb dit nodig omdat ik bezig ben met een set functie voor een class die elke array moet kunnen wijzigen in de class , en ik heb geen zin om voor elke array set_array functie te maken

Edit :

ik heb nu :
  1. $this -> $arr_args[0] [ $arr_args[1] ][ $arr_args[2] ] = $arr_args[3];


maar dan krijg ik: Fatal error: Cannot use string offset as an array

6 antwoorden

Gesponsorde links
Offline Wim - 10/07/2007 15:03
Avatar van Wim Crew algemeen php ondersteund variabele-variabele; dus zoiets werkt bvb:
$var = 'test';
$test = 'dit lees je';
echo $$var; // output: "dit lees je"

  1. <?php
  2. function addToArray($arrayName, $key, $value)
  3. {
  4. return ($$arrayName[$key] = $value) ? true : false;
  5. }
  6. ?>


addToArray('test', 'key', 'value');
is nu gelijk aan
$test['key'] = 'value';
Offline Sc0tTy - 11/07/2007 10:50
Avatar van Sc0tTy PHP interesse hmm het wil bij mij niet werken, waarschijnlijk om dat de array al in een class draait en ook al waardes heeft , ik heb het nu opgelost door 1 grote array te maken en die te vullen met de waarden :

  1. $this -> arr_settings [ $arr_name ] [ $key ] = $value;


en dan werkt het prima 
Offline marten - 11/07/2007 10:53
Avatar van marten Beheerder uhm... PHP.net: array_push eens
Offline Sc0tTy - 11/07/2007 10:59
Avatar van Sc0tTy PHP interesse mjah $arr_name is geen array he ;) das een string
Offline Wim - 11/07/2007 13:32
Avatar van Wim Crew algemeen $this -> arr_settings [ $arr_name ] <= da's wel een array
Offline Thomas - 11/07/2007 14:56
Avatar van Thomas Moderator $$arrayName kun je beter vermijden, en is eenvoudig op te lossen door een dimensie toe te voegen ($array[$arrayName]), zoals ScOtTy zelf voorstelt.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.205s