PHP Funktion mit meheren Rückgabewerten
Wie kann man mit einer Funktion mehr als einen Rückgabewert ausgeben ?
Hallo Leute,
ich hab ein Problem,
wie üblich wenn hier jemand was schreibt.
ich habe folgende Funktion geschrieben, in php:
so nun hab ich doch aber das Problem,
wie ich beim auslesend er Variablen die einzelen Variablen abrufen kann?
muss man das etwas o machen?
oder wie sonst.
Im i-Net finde ich dazu nähmlich nichts
mkrasselt1
Hallo Leute,
ich hab ein Problem,
wie üblich wenn hier jemand was schreibt.
ich habe folgende Funktion geschrieben, in php:
<?php
function benutzervariablen($user, $vorname, $nachname, $geschlecht, $geburtstag, $wohnort, $bundesland, $userbild){
$userdatei = fopen("./Benutzerdateien/$user/informationen.txt","r");
while(!feof($userdatei))
{
$zeilemitinfos = fgets($userdatei);
$infoarray = explode(":::", $zeilemitinfos);
$vorname = $infoarray;
$nachname = $infoarray[1];
$geschlecht = $infoarray[2];
$geburtstag = $infoarray[3];
$wohnort = $infoarray[4];
$bundesland = $infoarray[5];
$userbild = $infoarray[6];
}
//* Einstellung für Benutzer ohne Bild *//
if ($userbild == ''){
if($geschlecht == 'männlich'){
$userbild = 'profilbild_standart_m.jpg';
}
if($geschlecht == 'weiblich'){
$userbild = 'profilbild_standart_w.jpg';
}
}
return $user, $vorname, $nachname, $geschlecht, $geburtstag, $wohnort, $bundesland, $userbild;
}
?>
wie ich beim auslesend er Variablen die einzelen Variablen abrufen kann?
muss man das etwas o machen?
<?php
$vorname = benutzervariablen($user, $vorname, $nachname, $geschlecht, $geburtstag, $wohnort, $bundesland, $userbild)['1'];
?>
Im i-Net finde ich dazu nähmlich nichts
mkrasselt1
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 130351
Url: https://administrator.de/contentid/130351
Ausgedruckt am: 22.11.2024 um 14:11 Uhr
10 Kommentare
Neuester Kommentar
<?php
function benutzervariablen(&$user, &$vorname, &$nachname, &$geschlecht, &$geburtstag, &$wohnort, &$bundesland, &$userbild)
{
$userdatei = fopen("./Benutzerdateien/$user/informationen.txt","r");
while(!feof($userdatei)) {
$zeilemitinfos = fgets($userdatei);
$infoarray = explode(":::", $zeilemitinfos);
$vorname = $infoarray;
$nachname = $infoarray[1];
$geschlecht = $infoarray[2];
$geburtstag = $infoarray[3];
$wohnort = $infoarray[4];
$bundesland = $infoarray[5];
$userbild = $infoarray[6];
}
/* Einstellung für Benutzer ohne Bild */
if ($userbild == '') {
if ($geschlecht == 'männlich') {
$userbild = 'profilbild_standart_m.jpg';
}
if ($geschlecht == 'weiblich') {
$userbild = 'profilbild_standart_w.jpg';
}
}
return true;
}
?>
$userbild = 'profilbild_standart_m.jpg';
}
if ($geschlecht == 'weiblich') {
$userbild = 'profilbild_standart_w.jpg';
}
if ($geschlecht == 'weiblich') {
$userbild = 'profilbild_standart_w.jpg';
<ot>Das kann doch garnicht funktionieren, wenn man Standard mit "t" schreibt!</ot>
Sorry, ich konnts mir beim besten Willen nicht verkneifen :D
Moin mkrasselt1,
<OT>
Dabei wird eine Variable per Referenz an ein Unterprogramm/eine Funktion übergeben und dort der Inhalt/Wert der Variablen verändert.
Nur der zur Verfügung stehende Speicherplatz und zumindest bei ernstzunehmenden Programmierwerkzeugen auch der zulässige Datentyp der Variablen ist also vorher vorgegeben.
Diese Art der Programmierung macht jeden noch so kurzen Codeschnipsel fehleranfällig und schwer wartbar, weil du z.B bei diesem Konstrukt:
... wo ja referenzierte Variablen verwendet werden, diese zwar hier "in der Funktion" unter den Variablennamen $user, $vorname etc ansprechen kannst, diese aber anderswo im Sourcecode ganz anders heißen können.
Würde eine "Globale Variable" $gbl_user dagegen irgendwo in einer von 200000 Sourcecode-Zeilen angefasst/geändert werden, hättest du mit jedem noch so billigen Textsearch eine Chance, diese Stellen zu finden.
Bitte nimm es einfach hin, dass so etwas existiert, dass es Menschen gibt, die es mögen und verwenden und dass es bei "großen" zu ändernden Variableninhalten massiven Geschwindigkeitsvorteil zu Lasten der der Pfleg- und Wartbarkeit hat.
Bei deinen 10-Byte-Variablen $user, $vorname etc. ist es absolut unnötig.
Grüße
Biber
P.S. "durchgezogene rechtschreibfehler sind nicht von bedeutung"
---> Wir verwenden genau aus diesem Grund meistens keine durchgezogenen, sondern durchgestrichene Rechtschreibfehler.
---> Noch lieber glattgezogene Rechtschreibfehler (s.FAQ, "Wie kann ich einen Beitrag bearbeiten?")
</OT>
<OT>
Und was sind bitte Referenzierte variablen ?
Ist nichts, was man/frau als HobbyprogrammiererIn unbedingt braucht.Dabei wird eine Variable per Referenz an ein Unterprogramm/eine Funktion übergeben und dort der Inhalt/Wert der Variablen verändert.
Nur der zur Verfügung stehende Speicherplatz und zumindest bei ernstzunehmenden Programmierwerkzeugen auch der zulässige Datentyp der Variablen ist also vorher vorgegeben.
Diese Art der Programmierung macht jeden noch so kurzen Codeschnipsel fehleranfällig und schwer wartbar, weil du z.B bei diesem Konstrukt:
...
function benutzervariablen(&$user, &$vorname, &$nachname, &$geschlecht, &$geburtstag, &$wohnort, &$bundesland, &$userbild)
...
Würde eine "Globale Variable" $gbl_user dagegen irgendwo in einer von 200000 Sourcecode-Zeilen angefasst/geändert werden, hättest du mit jedem noch so billigen Textsearch eine Chance, diese Stellen zu finden.
Bitte nimm es einfach hin, dass so etwas existiert, dass es Menschen gibt, die es mögen und verwenden und dass es bei "großen" zu ändernden Variableninhalten massiven Geschwindigkeitsvorteil zu Lasten der der Pfleg- und Wartbarkeit hat.
Bei deinen 10-Byte-Variablen $user, $vorname etc. ist es absolut unnötig.
Grüße
Biber
P.S. "durchgezogene rechtschreibfehler sind nicht von bedeutung"
---> Wir verwenden genau aus diesem Grund meistens keine durchgezogenen, sondern durchgestrichene Rechtschreibfehler.
---> Noch lieber glattgezogene Rechtschreibfehler (s.FAQ, "Wie kann ich einen Beitrag bearbeiten?")
</OT>