Avatar billede folle Nybegynder
23. december 2004 - 15:00 Der er 15 kommentarer og
1 løsning

Løkke med variable

Jeg har et php script med mange variable (p1,p2,..,pn). Er det muligt at lave en løkke som skriver variablene ud?

<?php
$i = 1;
while($i <= 10) {
echo /*Udskriv p(i)*/;
$i++;
}?>

Variablene kommer fra en form, så det er umiddelbart ikke lige til at lave et array. Hvad gør jeg?
Avatar billede bromer Nybegynder
23. december 2004 - 15:10 #1
Hvis dine variabler kommer fra en form kan du vel benytte $_POST eller $_GET, alt efter om din form benytter post eller get.

foreach($_POST as $name => $value) {
  printf("%s har værdi %s\n",$name,$value);
}
Avatar billede googolplex Novice
23. december 2004 - 15:22 #2
Variablerne fra en formular kommer jo netop i et array :)
Avatar billede Slettet bruger
23. december 2004 - 15:52 #3
indeholder % værdien af navn, og derefter værdien af value?
Avatar billede bromer Nybegynder
23. december 2004 - 15:55 #4
Det er funktionen printf der fanger %<t>, hvor <t> er et tegn. Når <t> er et s, forventer den at det tilsvarende argument er en streng.

Det er bare en - elegangt, hvis man spørger mig - måde at formatere en streng på.
Avatar billede bromer Nybegynder
23. december 2004 - 15:56 #5
hov.. jeg kan for det først ikke stave til elegant.. for det andet er syntax'en for printf specificeret her:

http://dk2.php.net/manual/en/function.sprintf.php
Avatar billede Slettet bruger
23. december 2004 - 16:02 #6
oki, takker
Avatar billede coderdk Praktikant
23. december 2004 - 20:31 #7
Noget i stil med:

<?php

  if ( $_SERVER['REQUEST_METHOD'] == 'POST' )
  {
    for ( $i = 0; $i < 10; $i++ )
    {
      if ( !empty( $_POST['var'][$i] ) )
      {
          echo "var $i = " . $_POST['var'][$i] . "<br>";
      }
    }
  }

?>
<form method="post">
  var 1: <input type="text" name="var[]"><br>
  var 2: <input type="text" name="var[]"><br>
  var 3: <input type="text" name="var[]"><br>
  var 4: <input type="text" name="var[]"><br>
  var 5: <input type="text" name="var[]"><br>
  var 6: <input type="text" name="var[]"><br>
  var 7: <input type="text" name="var[]"><br>
  var 8: <input type="text" name="var[]"><br>
  var 9: <input type="text" name="var[]"><br>
  var 10: <input type="text" name="var[]"><br>
  <input type="submit" value=" ok ">
</form>
Avatar billede Slettet bruger
23. december 2004 - 20:36 #8
$_SERVER['REQUEST_METHOD'] Kan ved godt både være POST og GET ..., ikke?
Avatar billede coderdk Praktikant
23. december 2004 - 20:37 #9
wicez, jo men i min form bruger jeg POST, så jeg ved der er trykket på submit, ellers er den default GET :)
Avatar billede folle Nybegynder
25. januar 2005 - 22:53 #10
tak for svarene.
Avatar billede Slettet bruger
26. januar 2005 - 15:22 #11
ja dét er jo rimelig godt stil selv at tage point efter en masse svar, hva?
Avatar billede folle Nybegynder
26. januar 2005 - 15:26 #12
Hvis man kun laver kommentarer i stedet for svar regner jeg med at folk ikke er interesseret i pointene. Er det OK?
Avatar billede Slettet bruger
26. januar 2005 - 15:30 #13
nej det er ikke ok, folk kommenterer indtil de bliver bedt om at svare..

Jeg ved egentlig ikke hvorfor, måske fordi man prøver at nå frem til en løsning før man svarer. Sådan er det i hvert fald på eksperten - god skik er at spørge alle der har været med til at finde en løsning, om de vil have point - altså svare!
Avatar billede Slettet bruger
26. januar 2005 - 15:33 #14
For mig er det, i dette tilfælde, naturligvis ligemeget. Jeg råder dig bare til at gøre det anderledes en anden gang
Avatar billede folle Nybegynder
26. januar 2005 - 15:47 #15
Ok. Det vil jeg gøre fremover. Det er ikke altid så nemt med de der uskrevne regler ;o)
Avatar billede Slettet bruger
26. januar 2005 - 15:55 #16
nej det er rigtigt, jeg gjorde præcis det samme da var herinde første gang ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester