Fred Furunkelstein 2011: Array in Unterprogramm erstellt, in zweitem weiterverarbeitet

Beitrag lesen

Was ist daran schrecklich?

Das ich eine Variable, die ich verändere, nicht auf der linken Seite stehen habe.

Wie würdest Du das denn machen, wenn Du auf jeden Fall einen Statuswert als Rückgabewert haben musst, und der zu bearbeitende Datenwert variant ist, also z.B. auch ein Skalar, NULL oder ein Objekt sein kann?

Ist doch klar: einfach! Und zwar so einfach wie nur irgend möglich, aber immer mit der Veränderlichen auf der linken Seite.

  1. Skalar:
function getMyData()  
{  
    ...  
    return array(value, status)  
}  
  
list ($ergebnis, $status) = getMyData();
  1. Skalar, Array oder Hash
function getMyData()  
{  
    $values = array(....);  
    $status = 'Foo!';  
    return array($status, $values);  
}  
  
$arMyData = getMyData();  
$status=array_shift($arMyData);  

Würde ich in der Funktion ein Objekt bauen, dann würde ich kurzerhand die Eigenschaft "build_errors" mit vorsehen, zurück geben und auswerten. Das wäre es dann schon.

Fred