echo $begrüßung;
Wenn schon, dann sollte man schon direkt nachschauen, welche Bilder vorhanden sind, und dies nicht aus einem festen Array auslesen. Oder?
Ja, aus dem Ausgangsposting geht ja auch hervor, dass er das Verzeichnis direkt ausliest. Nun hat er aber danach schon alle Dateinamen in einem Array, und dann ist es auch nur noch eine Zeile, mit array_rand() sich seine gewünschte Anzahl und dazu noch dopplungsfrei zu ermitteln.
Sorry, der zweite Kommentar
» bestimme die $tmp_bildnr-te der verbleibenden Zahlen anhand von $gewaehlte_zahlen und trage sie in $gewaehlte_zahlen ein
sollte natürlich nicht als Kommentar zu verstehen sein, sondern als Pseudo-Code (ich wollte dem möglicherweise blöden Syntax-Highlighting entgehen).
Wenn du dem Syntax-Highlighting entgehen willst, lass doch die code-Auszeichnung weg. Für Pseudo-Code (und damit syntaktisch unkorrektem Code) ist die sowieso nicht sonderlich sinnvoll.
Wie auch immer, du schlugst zwar vor, mit den Nummern von 1 bis 300 zu arbeiten, und ermittelst beispielsweise per Zufall die 42. So kommst du jedoch nicht an das Ziel, denn beim nächsten Durchlauf nimmst du die Nummer 300 aus dem Rennen und die 42 hingegen bleibt im Spiel. Ich kann mir nur vorstellen, dass dir doch irgendwie die Keys im Kopf rumgeisterten und nicht nur die Werte. Deine Lösung mit dem rand() geht nur dann, wenn du damit nicht den Wert sondern den Key des Elements ermittelst, einen gefundenes Element (samt Key) entfernst (unset()) und anschließend die Keys neu durchnummerierst, damit nur noch 299 Keys übrigbleiben und das lückenlos. Da ist sogar shuffle() und die ersten 25 zu nehmen einfacher zu implementieren.
echo "$verabschiedung $name";