[PHP] 3 Fragen Schleifen/Syntax

Goldi708

Ensign
Registriert
März 2018
Beiträge
193
Hallo Leute,

da ich erst mit PHP angefangen habe hätte ich da ein paar Fragen.

Ich habe gerade mit schleifen experimentiert, dabei sind mir einige Unklarheiten aufgefallen ich hoffe ihr könnt mir helfen.



1. Frage/Problem (while) Schleife
Ich habe versuchen 50 Bilder auf einer Webseite anzuzeigen zu lassen, und dafür eine while Schleife in PHP verwenden anstatt in HTML 50-mal <img src="images/1.png">.
Die Bilder sind im Ordner images, die Bilder haben die Namen 1.png, 2.png, 3.png. usw.
Der Code funktioniert, jedoch wird zusätzlich zu den 50 Bildern so ein Platzhalter Bild angezeigt. (Aber nur wenn ich die Schleife aus der ersten Frage und aus der zweiten Frage gleichzeitig ausführe) Platzhalter.png

PHP:
<?php
    $x = 1;

      while ($x <= 2) {
              echo '<img src="images/'.$x.'.png">';
        $x = $x + 1;
      }
?>


2. Frage (for) Schleife

Es ist im Prinzip das Gleiche wie oben nur mit einer for Schleife, der Code funktionier zu 100%.
Meine Frage bezieht sich nicht wie bei der ersten Frage auf ein Problem, sondern auf den Syntax!
Könnte mir Jemand (am besten mit Kleinen Beispielen) erklären.

Wann verwende ich Hochkomma ‘ und wann Anführungszeichen “?
Wann muss ich Variablen in “ oder ‘ setzen?
PHP:
<php?
      for ($y = 0; $y <= 2; $y = $y + 1) {
          echo '<img class="test1 " id="test2" src="images/'.$y.'.png">';
      }

   ?>


3. Schleife in Schleife in Schleife

Ich habe die Seite http://html.net/tutorials/php/lesson5.php empfohlen bekommen um PHP zu Lernen, aber ich suche einen anderen Weg PHP zu Lernen. Wie habt ihr es gelernt?

Hier ist der Grund warum ich eine andere Möglichkeit suche PHP zu Lernen. Auf der Seite gibt es ein Beispiel Namens “Loops within loops“ der Code hat 3 Syntax Fehler die ICH gefunden habe obwohl ich mich nicht einmal gut auskenne. Der Code sollte das ausgeben (ganz runter Scrollen und auf show example Klickenhttp://html.net/tutorials/php/lesson5.php).
Könnte mir Jemand sagen was die Syntax Fehler sind? Ich weiß es hat irgendetwas mit Hochkomma oder Anführungszeih zu tun. Aber ich finde es nicht herausfinden ;)
PHP:
<?php
 
	for ($intRed=0; $intRed<=255; $intRed=$intRed+30) {

	   for ($intGreen=0; $intGreen<=255; $intGreen=$intGreen+30) {

	      for ($intBlue=0; $intBlue<=255; $intBlue=$intBlue+30) {
	 
		  $StrColor = "rgb(" . $intRed . "," . $intGreen . "," . $intBlue . ")";
		  
		  echo "<span style='color:" . $StrColor . "'>" . $StrColor . "</span>";
	 
	      }
	   }
	}
?>

Zusammenfassung.
1. Frage: Warum wir ein Platzhalter angezeigt?
2. Frage: Wan verwende ich “ und ‘? .
3. Wann muss ich Variablen in “ oder ‘ setzen?
4. Welche Schleife würdet ihr verwenden um beispielsweise 100 Bilder einzubinden?
5. Frage: Wie/Wo sollte ich am besten PHP Lernen, wie hat ihr es gelernt?
6. Was sind die Syntax Fehler im dritten Beispiel?

Da das mein erster Beitrag im Forum ist würde ich mich zusätzlich über Feedback freuen. Was kann ich besser machen?

Danke im Voraus!
 
1. Ein Platzhalter wird angezeigt, wenn das Bild unter der angegebenen URL nicht gefunden wurde. Gehe doch mal in die Entwicklertools (F12) und schaue dir die Bilderelemente (img-tags) an. Haben die alle die richtige src-URL?


2. " und ' kannst du beides verwenden.

PHP Docu schrieb:
Syntax
Ein String-Literal kann auf vier unterschiedliche Arten spezifiziert werden:
einfache Anführungszeichen
doppelte Anführungszeichen
Heredoc Syntax
Nowdoc Syntax (since PHP 5.3.0)

http://php.net/manual/de/language.types.string.php

3. Musst du nicht, kannst du aber. Du kannst schreiben
Code:
$xy = 3;
echo "Ich habe $xy Äpfel";

was das gleiche tut wie

Code:
$xy = 3;
echo "Ich habe ".$xy." Äpfel";

Machts dir einfacher ;)

4. Hängt davon ab, was genau du machen musst. Eine for-Schleife bietet sich grundsätzlich aber meistens an...

5. Tutorials schauen, die PHP-Dokumentation (php.net) und eigenen Projekte. (6.) Auf die schnelle habe ich in dem Code keine Syntaxfehler gefunden...
 
Schleife 3: da ist kein Syntaxfehler, weder bei Dir noch im Original.

Zu den "Hochkomma-Varianten":
Das können die Leute heute oft nicht mehr richtig erklären, weil sie durch Python verdorben worden sind ;) Und dabei ist es (imho) eine sehr wichtige Geschichte. Dabei gibt es vorab einen Begriff zu klären: "Interpolation". Bei der Interpolation wird eine Variable durch ihren Inhalt ersetzt:
Code:
$var = 5
Also:
HochkommaInterpolationAusgabe
echo'$var'
nein
$var
echo "$var"
ja
5
$s = <<<EOF
$var
EOF;
echo $s
ja
5
echo "$varfach"nein/errorUndefined variable
echo "{$var}fach"ja5fach
 
Ich muss sagen das ist echt eine wichtige Information für mich. Es erstaunt mich das ich es noch nirgend wo gelesen habe.
 
Zurück
Oben