Variabelproblem

PHP

2 svar · 175 visningar · startad av Kim

Medlem sedan jan. 20007 697 inlägg
Trådstart#1

Jag har ett formulär där varje fält heter spec1, spec2, spec3, spec4 o.s.v.

Jag vill kunna kolla av hur långt användaren har fyllt i, d.v.s. hur många av dessa fält som har något. Jag har gjort en for-loop som går igenom siffrorna 1 till 50 ($a). Jag vill sen i varje loop kunna hämta värdet ur $spec + det specifika numret som finns i loopen.

$spec_nr = "$spec" . $a

Detta ger dock inte värdet på t.ex. $spec1 eller $spec2 eller något sånt.

Om det nu var någon som förstod mig så får ni gärna skriva ett litet svar här. :)

Medlem sedan apr. 20007 588 inlägg
#2

När du använder . så kommer det endast innebära att de båda strängarna konkateneras (alltså resultatet i $spec_nr kommer antagligen att bli "" + "1" osv). För att göra det du vill så måste du köra funktionen eval() för att evaluera strängarna som php-kod:

eval (" $spec_nr = \"$spec\" . $a ");
echo $spec_nr;

[r] Förresten, du kan nog göra så här också (kan inte testa det själv just nu):

$tmp = "$spec" . $a;
$spec_nr = $$tmp;

($$ innebär en "variabel variabel", kolla på http://se.php.net/manual/en/language.variables.variable.php)

Medlem sedan jan. 20007 697 inlägg
#3

ok, tack så mycket! :)

288 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
147 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
150 ms — ändringar (db)