PHP :: Aufgabe #184
3 Lösungen
Einfacher Namensgenerator
Anfänger - PHP
von Gelöschte Person
- 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";
?>