Mailinglisten-Archive |
Hallo Thomas, Dein Vorschlag eines Funktionsaufrufs mit "meine_function($wert)['status']" ist in PHP nicht möglich und wie ich finde aus gutem Grund. Rufst Du eine Funktion ohne Wertzuweisung auf, sind nach der Abfrage alle Ergebnisse futsch, die nicht global sind. if (meine_function($wert)['status']) {} bedeutet also gleichzeitig: Der Rest des Ergebnisarrays ist bei diesem Aufruf unwichtig. Warum sollte "meine_function" ein Ergebnis liefern, das bei diesem Aufruf nicht gebraucht wir? Bei einfachen Funktionen mag diese Frage irrelevant sein, komplexere Funktionen können bei Beachtung dieser Frage jedoch leichter gewartet oder im Nachhinein optimiert werden. Wenn "meine_function" um einen (optionalen) Parameter "$statusrueckgabe" erweitert wird und beim Übergabewert "true" nur den Status statt dem ganzen Array zurückgibt, so ist dies in meinen Augen ein Schritt in eine klarere Programmierweise. Die zweite (IMHO unschöne) Möglichkeit wäre, sobald innerhalb der Funktion "meine_function" dem "$rueckgabearray['status']" "false" zugeordnet wird, diese mit "return false;" zu beenden. Ist der Status dagegen != "false", so wird das Array zurückgegeben und PHP wird ganz normal die If-Anweisung abarbeiten. Gruß, Thomas > Hi, > > ist so was möglich. Eine Funktion gibt ein Array zurück und > ich möchte diesen Wert gleich in einer if Abfrage verwenden. > > if ( meine_function($wert)['status'] ) { > } > > statt > > $erg = meine_function($wert); > if ( $erg['status'] ) { > } > > Gruß > > Thomas
php::bar PHP Wiki - Listenarchive