PHP :: Aufgabe #184
3 Lösungen

Einfacher Namensgenerator
Anfänger - PHP
von Exception
- 30.05.2018 um 15:23 Uhr
Schreibe ein Programm, welches zwei Textdateien (zb Vorname.txt, Nachname.txt) Zeile für Zeile in ein Array lädt.
Gebe dann eine zufällige Kombination aus Vornamen und Nachnamen aus.
Gebe dann eine zufällige Kombination aus Vornamen und Nachnamen aus.
Lösungen:

<?php // #184 php try { $files = array('vornamen.txt', 'nachnamen.txt'); $names = array(); foreach ($files as $file) { $handle = fopen($file, 'r'); if ($handle) { $names[$file] = array(); while (($line = fgets($handle)) !== false) { array_push($names[$file], $line); } } else { throw new Exception('Datei "'.$file.'" konnte nicht geöffnet werden.', 1); } fclose($handle); } echo '<h2>Namen aus den Dateien</h2>'; echo '<pre>'; print_r($names); echo '</pre>'; echo '<h2>Generierte Namen</h2>'; echo '<ul>'; for ($i=0; $i < 10; $i++) { $temp = ''; foreach ($names as $name) { $temp .= $name[array_rand($name)].' '; } echo '<li>'.$temp.'</li>'; } echo '</ul>'; } catch (Exception $ex) { echo $ex->getMessage().'<br />'; } ?>

<?php //Namen in Array laden $vorname = array(); $vorname = file("C:\\xampp\\htdocs\\vorname.txt"); $nachname = array(); $nachname = file("C:\\xampp\\htdocs\\nachname.txt"); //Random Arraykey heraussuchen $vrand = array_rand($vorname); $nrand = array_rand($nachname); //Ausgabe echo $vorname[$vrand] . " " . $nachname[$nrand]; ?>

<?php $vornamen = file('vornamen.txt'); $nachnamen = file('nachnamen.txt'); $randomvornamen = $vornamen[mt_rand(0, count($vornamen) - 1)]; $randomnachnamen = $nachnamen[mt_rand(0, count($nachnamen) - 1)]; echo "$randomvornamen $randomnachnamen"; ?>