Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Miksi ei toimi ( arrayta ja foreachia )

v0q [06.02.2005 14:35:51]

#

$user = "a";
	$answers = array (
			"a" => "answer1",
			"b" => "answer2",
			"c" => "answer3",
			"d" => "answer4",
			"e" => "answer5",
			"f" => "answer6",
			"g" => "answer7",
			"h" => "answer8"
		);

	foreach($answers as $a => $b) {
		$answer = str_replace($a, $b, $user);
	 }

Eli siis miksi tämä ei toimi... Kun laittaa echo $answer; tämä echoaa tämän "a" :n mikä on $user :n arvo... Eli siis missä vika ?

leftover [06.02.2005 14:47:40]

#

foreach-looppi toteuttaa ensimmäisellä kierroksella korvauksen, mutta koska käyt läpi kaikki taulukon alkiot, ei viimeisessä alkiossa ("h" => "answer8") enää löydy vastaavuutta ("h" != "a"), ja palautusarvoksi tulee a. Jos haluat lopettaa loopin heti ensimmäiseen vastaavuuteen, pitää tehdä ehtolause:

// foreach-loopin sisälle
        if ($a == $user) {
            $answer = str_replace($a, $b, $user);
            break;
         }

v0q [06.02.2005 14:53:54]

#

Ok nyt toimii... Kiitos tuosta ^^

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta