PHP variable aus function ausgeben

Tab

unlimited
ID: 374854
L
26 Juni 2007
900
71
Hallo,

ich möchte folgendes erreichen.
Ich binde die function auf einer bestimmten Seite ein, dann will ich auf dieser Seite eine Variable aus der function ausgeben, ist das möglich?

Liebe Grüße
 
Habe es wohl schlecht erklärt. Nochmal:

PHP:
function status($id, $language) {
    $mysql = "SELECT options_values_id FROM products_attributes WHERE products_id = $id";
    $mysql_query = mysql_query($mysql);
    
    $row = mysql_fetch_assoc($mysql_query);
    $status_number = $row['options_values_id'];
    
    /* Mithilfe der $status_number nun aulesen des Zustandes */
    
    $mysql = "SELECT * FROM products_options_values WHERE products_options_values_id = $status_number and language_id = $language";
    $mysql_query = mysql_query($mysql);
    
    $row = mysql_fetch_assoc($mysql_query);
    $status_text = $row['products_options_values_name'];
    
    echo $status_text;
}

Gut der $staustext wird nun ausgegeben. Jetzt möchte ich den Wert $status_number z.B. auch noch ausgeben, aber an einer anderen Stelle, indem Fall wäre es hilfreich die variable irgendwie aus der function zu nehmen...?

Liebe Grüße
 
Meinst Du das?

PHP:
function status($id, $language) {
  ...
  return $status_number;
}


$ret = status($id,$language);
...
echo $ret;
 
PHP:
<?php
function meineFunktion(){
var="Was auch immer";

return var;
}

ausgabe=meineFunktion();
echo ausgabe;
?>
 
Ahhhh

Super es funktioniert.

Und wenn ich nun nicht nur eine Variable aus der Funktion haben möchte, sondern zwei?

Liebe Grüße
 
Es geht leider immer nur ein Rückgabewert. Aber du kannst einen Array zurückgeben oder du arbeitest mit explode(), soll heissen, das du die Werte der Funktion in einem String zusammenfügst und mit einem Trennzeichen trennst.

PHP:
<?php
function meineFunktion(){
$var1="Was auch immer";
$var2="Egal";
$rueck=$var1+"|"+$var2;
return $rueck;
}

$ausgabe=meineFunktion();
$ausgabe=explode('|', $ausgabe);
echo "$ausgabe[0] $ausgabe[1]";
?>
 
Also wenn das doch was größeres wird, wird ich es inner Klasse kapseln und mit getter/setter drauf zugreifen. Ist sauberer also irgendwelche wilden Rückgabe Arrays.
Außerdem kann man es unproblematisch erweitern und alle bissherigen Rückgaben bleiben unverändert bestehen, oder man kann auch mal schnell ein Rückgabeformat einführen.
 
Also wenn das doch was größeres wird, wird ich es inner Klasse kapseln und mit getter/setter drauf zugreifen. Ist sauberer also irgendwelche wilden Rückgabe Arrays.
Außerdem kann man es unproblematisch erweitern und alle bissherigen Rückgaben bleiben unverändert bestehen, oder man kann auch mal schnell ein Rückgabeformat einführen.

Das wäre in der Tat die beste Lösung, wobei ich bezweifel, das jemand der nicht weiß wie er einen Rückgabewert aus einer Funktion bekommt, eine Klasse schreiben kann, geschweige denn, das er weiß was getter/setter Methoden sind....
 
[...] oder du arbeitest mit explode(), [...]
... und dann crasht deine Anwendung, nur weil der eine Rückgabewert zufällig den Delimiter enthält :wall:

:arrow: Array benutzen!

Ja, oder halt gleich mit Klassen arbeiten. Wobei meiner Meinung man es nicht übertreiben sollte mit der OOP. Wenn ich ne Funktion hab, die ein Koordinatenpaar zurückliefert, dann bau ich deshalb nicht extra ne Klasse mit 2 Gettern, sondern geb halt n
PHP:
return compact($x, $y);
zurück.