variabelen naam omzetten in cijvers

Status
Niet open voor verdere reacties.

Ikoster

Gebruiker
Lid geworden
19 okt 2009
Berichten
144
heey,
ik heb een vraag is het mogelijk om van een variabelen een cijver output te geven.
bijv.
PHP:
$a = "1" 
$b = "2"
$woord = "abba"
//als nu het word abba wordt gebruikt
$cijver = $woord
//output van $cijver is 1221
kan dit many tanx :thumb:
 
Ik zou de cijfers in een array zetten. Zo bijvoorbeeld:

PHP:
$aValues = array ( 'a' => 1, 'b' => 2 );

Dan kun je vervolgens op deze manier de waardes vervangen:

PHP:
$aValues = array ( 'a' => 1, 'b' => 2 );
$sWoord = "abba";

$aWoord = str_split ( $sWoord );
$aNieuw = array();

foreach ( $aWoord as $sLetter ) {
  $aNieuw[] = $aValues[ $sLetter ];
}

echo implode ( $aNieuw );
 
Je kunt ook dit doen, maar dit wordt over het algemeen gezien als "vieze code" dus gebruik op eigen risico.

PHP:
$a = 1;
$b = 2;
$woord = "abba";

// bepaal lengte van het woord
$length = strlen( $woord );
// loop over elke letter heen
for ( $i = 0 ; $i < $length ; $i++ ) {
  // pak letter $i uit het woord
  $letter = $woord{$i};
  // output de variabele die dezelfde naam heeft als de inhoud van letter
  echo $$letter;
}

Op deze manier werkt het alleen voor variabelen van 1 letter, maar je kunt het $$ systeem gebruiken voor langere dingen. Het geeft als return value de variabele met de naam die de value van de variabele bevat.

Dus:
$haas = "1";
$woord = "haas";
$$woord is nu "1", want $woord is haas, en $haas is 1.

Again; over het algemeen niet echt nette code, maar het kan wel :)
 
hartelijk ank voor reageren vragg opgelost!:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan