2017-06-17 3 views
0

Ich wollte die Syntax in dieser Arbeitsfunktion kann die neue Funktion von Nullable Types wissen, ob verwendet, um Wechsel vonPHP Nullable Types funktioniert nicht wie erwartet

function getCustomerId($id = null) 
{ 
    return $id ?: 2; 
} 

echo getCustomerId(); 

zu so etwas wie dieses, das funktioniert nicht für mich. Ich bekomme den Fehler für zu wenige Argumente.

so dass im Grunde, wenn das Argument nicht zur Verfügung gestellt wird, es 2 zurückgibt, aber wenn das Argument bereitgestellt wird, gibt es dieses Argument zurück.

Antwort

1

Yer verwirrend irgendwie das Konzept der optional Argumente mit dem Konzept der nullable diejenigen.

Ein optional Argumente bedeutet, dass Sie es nicht übergeben müssen, weil es optional ist.

A nullable Argument bedeutet, dass, während das Argument einer bestimmten Art sein muss, dass null auch gültig ist (wo es nicht sein, wenn es keine Nullwerte enthalten ist). Nullbarkeit bedeutet nicht, dass Sie nichts weiterreichen müssen. du tust es immer noch. Es kann einfach null sein.

Wenn Sie ein Integer-Argument haben, die null optional und betrachtet, wenn nicht besteht, dann yer zwei Beispiele kombinieren:

function getCustomerId(?int $id=null) 
{ 
    return $id ?: 2; 
} 

Ref: PHP > New Features > Nullable types

Verwandte Themen