Php 在Python中,您可以将一个变量分配给一个函数,然后将参数传递给该变量,这个特性叫什么?
您将Python的功能称为什么,其中:Php 在Python中,您可以将一个变量分配给一个函数,然后将参数传递给该变量,这个特性叫什么?,php,python,function,Php,Python,Function,您将Python的功能称为什么,其中: 将函数赋给变量 myPowerVariable=pow mySqrtVariable=math.sqrt 然后你用参数调用那个变量 myPowerVariable(2,3) 打印8张 mySqrtVariable(9) 打印3张 如果你在PHP中尝试,它将不起作用,希望有人能告诉我这个特性叫什么 感谢您在PHP中,如果您使用正确的PHP语法,它们将被调用并工作良好: $myPowerVariable = 'pow'; echo $myPowerVariab
打印8张
mySqrtVariable(9)
打印3张
$myPowerVariable = 'pow';
echo $myPowerVariable(2, 3); // prints 8
如果您这样做了:
$myPowerVariable = pow();
你会得到:
警告:pow()只需要2个参数,给定0
因为您正在执行pow()
并将结果分配给$myPowerVariable
,但没有提供所需的参数
这是您在评论中提到的一个简单示例:
$myPowerVariable = function($a, $b) {
echo pow($a, $b);
};
$myPowerVariable(2, 3);
首先,您的措辞混淆了:您实际上是将一个函数分配给一个变量
无论如何,这是Python拥有的一个示例。这通常被称为,PHP中确实存在此功能,尽管在语法上存在一些差异。以下是PHP中的工作原理:
function myFunction() {
echo 'here!';
}
$myVar = 'myFunction';
$myVar();
class myClass
{
function myMethod() {
echo 'here!';
}
}
$myVariable = ['myClass', 'myMethod'];
call_user_func($myVariable);
这也适用于PHP:
function myFunction() {
echo 'here!';
}
$myVar = 'myFunction';
$myVar();
class myClass
{
function myMethod() {
echo 'here!';
}
}
$myVariable = ['myClass', 'myMethod'];
call_user_func($myVariable);
看看,也许你的意思是“第一类对象”@VPfB这些知识你不会从教程中获得,但只有在你学习计算机科学的情况下才能获得?@TheWolf我不知道答案。但我想利用这个小小的评论来推荐好书。它们作为教程提供了更好的“基础”。@VPfB请继续,谢谢。我从来都不了解PHP中的匿名函数,这就是我需要知道的关于匿名函数的所有知识吗?分配给变量的
字符串可能实际上是函数,这不是很可怕吗,然后突然有一个变量可以调用函数
?或者我只是想得太多了?@TheWolf这可能有点危险,因为在Python示例中,如果函数未定义,赋值行将抛出NameError,但在PHP中,在尝试调用变量函数之前不会引发错误,因为始终允许将字符串赋给变量。PHP版本可能导致编译期间无法检测到的运行时错误,具体取决于它的使用方式。