phpbar.de logo

Mailinglisten-Archive

[php] variable in array

[php] variable in array

Gloss Mathias php_(at)_phpcenter.de
Wed, 7 Aug 2002 08:58:33 +0200


Aloha,

> Von: 	Kohler, Benjamin[SMTP:Benjamin.Kohler_(at)_entire.de]
>
> ich habe folgende frage: (stehe heute morgen wohl noch
> etwas auf dem schlauch)
> ich habe eine variable, die ein array darstellt.
> in dieser variablen sind, logischerweise, mehrere werte gespeichert.
> (link1, link2, link3, usw.)
> jetzt will ich diese variable in eine neue variable schreiben.
> das ist leider notwendig, damit ich mit diesen werten weiterarbeiten kann.
> kurz zur erklärung:
> ich generiere automatisch links anhand von benutzereingaben. die links
> führen
> zu textankern, wo der entsprechende text zum link steht.
> die links so wie die texte werden dynamisch erstellt (bzw. die
> eingabefelder
> dafür
> und später die darstellung der selbigen).
> die erstellung erfolgt in zwei foreach schleifen. das ganze sieht
> folgendermaßen aus:
>
> [...snipe...]
> foreach ($HTTP_POST_VARS["link"] as $wert)
>      {
> 	$new_wert = 'Ziel'.$i;
>
>        print ("<tr>");
>        print ("<br>");
> 	   print ("<br>");
> 	   print ("<td height=\"65\"><font color=\"#000000\" size=\"2\"
> face=\"Verdana, Arial, Helvetica,
>                          sans-serif\"><a
> href=\"#$new_wert\">$wert</a></font></td>");
>        print ("</tr>");
> 	   print ("<br>");
> 	   $i++;
> 	   }
>
Meinst du nicht, daß folgendes etwas übersichtlicher wäre?

$i=0;
> foreach ($HTTP_POST_VARS["link"] as $wert) {
  echo '<tr><br><br>'
      .'<td height="65"><font color="#000000" size="2" face="Verdana, Arial,
Helvetica,sans-serif">'
      .'<a href="#Ziel'.$i.'">'.$wert.'</a></font></td>'
      .'</tr><br>';
  $i++;
}



> foreach ($HTTP_POST_VARS["text"] as $test)
>        {
> 	   $new_wert = 'Ziel'.$a;
> [...]
> print ("<table width=\"800\" border=\"0\" cellpadding=\"0\"
> cellspacing=\"0\">");
> 	   print ("<br>");
> 	   print ("<tr>");
>        print ("<font color=\"#000000\" size=\"2\" face=\"Verdana, Arial,
> Helvetica, sans-serif\">
>                  <a name=\"$new_wert\"</a> $test</font></td>");
>        print ("</td>");
>        print ("</tr>");
> 	   print ("<tr>");
> 	   print ("<td>");
> 	   print ("<p><strong><font size=\"2\" face=\"Verdana, Arial,
> Helvetica, sans-serif\">
>                         <a href=\"#top\">top</a></p>");
> 	   print ("</td>");
> 	   print ("</tr>");
> 	   print ("<tr>");
> 	   print ("<br>");
>        print ("<td height=\"10\" bgcolor=\"#999999\"></td>");
>        print ("</tr>");
> 	   print ("</table>");
> 	   $a++;
> 	   }
> [...]
>
> ich brauche jetzt die werte von $wert in der unteren schleife, so dass ich
> über jeden text die linkbezeichnung
> noch mal schreiben kann.
>
Da du in der unteren Schleife $a nicht initialisiert hast,
dürfte das auch mit 0 beginnen.

Das kannst du ausnutzen, denn das entsprechende "$wert" von
oben findest du dann in

$HTTP_POST_VARS["link"][$a]

Ansonsten gilt für die Übersichtlichkeit des Codes das gleiche
wie oben.... :

for ($i=0; $i < sizeof($HTTP_POST_VARS["text"]); $i++) {
  [...]
  echo '<table width="800" border="0" cellpadding="0" cellspacing="0">'
      .'<br><tr>'
      .'<font color="#000000" size="2" face="Verdana, Arial, Helvetica,
sans-serif">'
      .'<a
name="Ziel'.$i.'"></a>'.$HTTP_POST_VARS["text"][$i].'</font></td>'
      .'</td></tr><tr><td>'
      .'<p><strong><font size="2" face="Verdana, Arial, Helvetica,
sans-serif">'
      .'<a href="#top">top</a></p>'
      .'</td></tr><tr><br>'
      .'<td height="10" bgcolor="#999999"></td></tr></table>';
  $i++;
  ## Ich weiß nicht, wo genau du den Text von oben brauchst, aber du findest
ihn hier:
  echo 'Hier der Text ---'.$HTTP_POST_VARS["link"][$a].'----';
}


So, und bitte in Zukunft den Code etwas übersichtlicher ;)


Grüße, Mathias


php::bar PHP Wiki   -   Listenarchive