Antworten auf deine Fragen:
Neues Thema erstellen

Verschachtelte Arrays: Zufallsbilder ausgeben funktioniert nicht

Jormungand

VonAllemEtwas

Hallo zusammen,
als superblutiger Anfänger versuche ich Zugang zu PHP zu bekommen und habe einige Progrämmchen schon nachgearbeitet und auch verstanden.

Ich war erfolgreich, Bilder in zufälliger Reihenfolge per Array auszugeben, möchte aber dem img-Tag noch Attribute (titel, alt) mitgeben und habe dazu Arrays verschachtelt. Jetzt funktioniert's nicht mehr...

PHP:
<?php
  error_reporting(E_ALL);
 // Funktionstest
echo "Checkpoint 1";
// Bilder werden in ein Array geladen und zufällig angezeigt.
// Array mit Bildern wird erstellt
$bilder = array(
    array(
          'pfad' => 'bilder/bomber.jpg',
          'alt' => 'Bomber',
          'titel' => 'Bomber'
    ),
    array(
          'pfad' => 'bilder/destroyer.jpg',
          'alt' => 'Zerstörer', 
          'titel' => 'Zerstörer'
    ),
    array(
          'pfad' =>    'bilder/frigate.jpg', 
          'alt' => 'Fregatte', 
          'titel' => 'Fregatte'
    ),
    array(
          'pfad' =>    'bilder/frigate2.jpg', 
          'alt' => 'Fregatte 2', 
          'titel' => 'Fregatte 2'
    ),
    array(
          'pfad' => 'bilder/interceptor.jpg', 
          'alt' => 'Abfangjäger', 
          'titel' => 'Abfangjäger'
    ),
);
// Die maximale Anzahl der Bilder wird ermittelt; -1, weil PHP bei 0 anfängt zu zählen
$max = count($bilder) - 1;
// Zufallszahl wird ermittelt
$zufallszahl = rand(0, $max);
// Ergebnis wird als img-Tag mit alt-Attribut und Titel ausgegeben
echo "<img src='{$bilder[$zufallszahl]['pfad']}'
    alt='{$bilder[$zufallszahl]['alt']}'
    title='{$bilder[$zufallszahl]['titel']} />\n";
// Funktionstest    
echo "Checkpoint 2";
?>
Beim Ausführen wird Checkpoint 1 noch erreicht, frisst sich dann aber vor Checkpoint 2 irgendwo fest.
Kann mir jemand sagen, wo mein Fehler liegt?

Grüße
Jormungand
 

Duddle

Posting-Frequenz: 14µHz

AW: Verschachtelte Arrays: Zufallsbilder ausgeben funktioniert nicht

Dein Code 1:1 übernommen funktioniert bei mir wie erwartet.
Der einzigen Fehler sind erstens in der Ausgabe des Bildes, dort hast du das schließende ' beim title-Attribut vergessen. Sowas ignorieren moderne Browser aber intern, also solltest du trotzdem das "Checkpoint 2" sehen. Zweitens in der Definition von $bilder hast du beim letzten Element (Zeile 32) nach dem schließenden ) ein Komma zu viel. Das übergeht PHP bei mir aber auch.

Du kannst dir ja mal den erzeugten HTML-Code anschauen. Dort sollte alles drin stehen. Vielleicht siehst du dort noch einen Fehler.

Achja, vielleicht könnte dich die Funktion shuffle() interessieren.


Duddle
 

Jormungand

VonAllemEtwas

AW: Verschachtelte Arrays: Zufallsbilder ausgeben funktioniert nicht

Es hat geklappt, nachdem ich die von dir entdeckten Fehler behoben habe.
Die shuffle-Funktion werd ich mir mal vornehmen.

Danke für deine Hilfe!

Jormungand
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.640
Beiträge
1.538.506
Mitglieder
67.559
Neuestes Mitglied
mic4mac
Oben