Einfache Syntaxfrage

Pestilence

Mitglied
Nun ich arbeite momentan an einer XML-Verarbeitung, und habe auf php.net folgende Funktion gefunden. Es funktioniert auch alles wurderbar, nur habe ich mich grfagt was folgender Abschnitt von der Syntax her bedeutet:

PHP:
function object2array($object)
{
    $return = NULL;
      
    if(is_array($object))
    {
        foreach($object as $key => $value)
            $return[$key] = object2array($value);
    }
    else
    {
        $var = get_object_vars($object);
          
        if($var)
        {
            foreach($var as $key => $value)
                $return[$key] = ($key && !$value) ? NULL : object2array($value);
        }
        else return $object;
    }

    return $return;
}

Ganz genau geht es lediglich darum:

PHP:
$return[$key] = ($key && !$value) ? NULL : object2array($value);

Was genau dieses "?", und das ":" bedeutet.
Oder wo kann ich :rtfm: :)

Vielen Dank schonmal für eure Hilfe!
 
Hallo und guten Morgen!
Das ist eine gekürzte IF-Abfrage. Die IF-Abfrage von oben kann auch so aussehen:
PHP:
if ($key && !$value){
 $return[$key] = NULL;
}else{
 $return[$key] = object2array($value);
}
Viele Programmierer kürzen diese Wertzuweisungen in Abfragen. Um einfach Code zu sparen.
Der allgemeine Syntax würde dann wie folgt aussehen:
Wert = (Abfrage) ? true : false

Hilft dir das weiter?
 
Zurück