Ich war ziemlich aufgeregt zu lesen über anonymous functions in PHP, mit dem Sie eine Variable, die Funktion einfacher ist, als Sie mit create_function tun könnten. Jetzt frage ich mich, ob ich eine Funktion habe, die eine Variable übergibt, wie kann ich überprüfen, ob es eine Funktion ist? Es gibt keine is_function() Funktion noch nicht, und wenn ich eine var_dump einer Variablen tun, das ist eine Funktion ::php is_function() zu bestimmen, ob eine Variable eine Funktion ist
$func = function(){
echo 'asdf';
};
var_dump($func);
ich diese:
object(Closure)#8 (0) { }
Irgendwelche Gedanken darüber, wie wenn dies überprüfen ist eine Funktion?
is_callable() funktioniert gut, ob Sie eine anonyme Funktion, einen Funktionsnamen als String oder ein gültiges PHP-Callback-Array übergeben. Wenn Sie nur nach anonymen Funktionen suchen möchten, möchten Sie etwas, was Gumbo sagt: Stellen Sie sicher, dass der Parameter ein Objekt ist, und stellen Sie sicher, dass es sich um eine Instanz von Closure handelt. – Lane
Was, wenn ich überprüfen möchte, ob es ein calllack oder eine Schnur ist und verschiedene Sachen für sie tut. Ich möchte nicht, dass ein Zeichenfolgenwert versehentlich als Rückruf verwendet wird. – Gherman
@Deutsch Erst checken Sie erst wenn is_string ($ func) dann als zweites check mit is_callable ($ func) – Heroselohim