[PHP] Variabele in een variabele?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo,

Ik zit met een probleempje waar ik maar niet uit geraak. Het zal waarschijnlijk wel iets dom zijn, maar ik vind het niet echt.

ik heb dit geval:

PHP:
1
2
3
           for ($i = 0; $i < 32; $i ++)
  if ((bindec($case4_juistbytes4567) & pow(2,$i)) > 0){
    echo '<span class="style2">Uitgang ' .($i+1). ' = aangestuurd'</span><br>' ;}


dit geeft een lijst weer met uitgangen die gestuurd zijn .. tot daar werkt dit dus.

nu heb ik nog een andere variabele namelijk $status_uitgang1 , $status_uitgang2 , $status_uitgang3 etc (tot aan 32 )

ik zou dit dus graag willen verwerken in het bovenstaand stukje code

ik had al dit geprobeerd enzo .. maar zonder resultaat


PHP:
1
2
3
           for ($i = 0; $i < 32; $i ++)
  if ((bindec($case4_juistbytes4567) & pow(2,$i)) > 0){
    echo '<span class="style2">Uitgang ' .($i+1). ' = aangestuurd '.$status_uitgang($i+1)'</span><br>' ;}


iemand die weet wat ik bedoel?

ook al zal het denk ik wel simpel op te lossen zijn ?

bedankt!!

Acties:
  • 0 Henk 'm!

  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 16-09 16:02

JHS

Splitting the thaum.

Als je 32 $status_uitgang variabelen gebruikt doe je waarschijnlijk iets niet handig. Ik vermoed dat je beter een $status_uitgangen array kan aanmaken die je dan afloopt.

DM!


Acties:
  • 0 Henk 'm!

Verwijderd

Zie: http://nl3.php.net/variables.variable, maar volgens mij kan je beter gaan werken met array's...

Acties:
  • 0 Henk 'm!

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 21-09 12:54
Niks geen variabele variabelen, Array is het toverwoord wat je zoekt.

Acties:
  • 0 Henk 'm!

  • Equator
  • Registratie: April 2001
  • Laatst online: 09-09 15:29

Equator

Crew Council

#whisky #barista

Zoiets dus:
PHP:
1
2
3
4
for ($i = 0; $i < 32; $i ++)
    $status_uitgang[$i] = $i;
}
print_r($status_uitgang);


Geeft een array $status_uitgang terug.

$status_uitgang[0] = 0
$status_uitgang[1] = 1
$status_uitgang[2] = 2
etc..

Werkt een stuk fijner dan 32 variabelen.

[ Voor 4% gewijzigd door Equator op 06-02-2006 10:36 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
CyberJ schreef op maandag 06 februari 2006 @ 10:33:
Zoiets dus:
PHP:
1
2
3
4
for ($i = 0; $i < 32; $i ++)
    $status_uitgang[$i] = $i;
}
print_r($status_uitgang);


Geeft een array $status_uitgang terug.

$status_uitgang[0] = 0
$status_uitgang[1] = 1
$status_uitgang[2] = 2
etc..

Werkt een stuk fijner dan 32 variabelen.
maar iedere uitgang heeft een verschillende status gaande van 0 tot 5

hoe los ik dit dan best op ?
ik maak dus ieder keer zoiets:

PHP:
1
2
3
4
5
6
7
8
9
$case15_byte2_bit012 = substr ($case15_byte2, 5, 3);
$case15_byte2_bit012_waarde=bindec($case15_byte2_bit012);
$status_uitgang1= status($case15_byte2_bit012_waarde); // statusfuncties zit in een include

$case15_byte2_bit345 = substr ($case15_byte2, 2, 3);
$case15_byte2_bit345_waarde=bindec($case15_byte2_bit345);
$status_uitgang2= status($case15_byte2_bit345_waarde);

// ETC


kan ik dit ook met een ' i - functie ' doen?

Acties:
  • 0 Henk 'm!

  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 16-09 16:02

JHS

Splitting the thaum.

Als die 2 en 3 door jezelf in de code gezet moeten worden, zoiets:

PHP:
1
2
3
4
5
6
7
8
9
function maak_uitgang($case_15byte2, $a, $b) {
  $status_uitgang = status(bindex(substr($case15_byte2, $a, $b)));
  return $status_uitgang;
}

$status_uitgangen[] = maak_uitgang($case_15byte2, 5, 3);
$status_uitgangen[] = maak_uitgang($case_15byte2, 2, 3);

print_r($status_uitgangen);


Dit geeft dan een array met de status uitgangen. Maar d'r zit vast een regelmaat in $a en $b, dus dat zou misschien ook nog wel met code op te lossen zijn.

DM!

Pagina: 1