我熟悉创建放置在 .php 文件顶部的 PHP 函数,例如:
function my_little_function($parm1,$parm2) {
if ($parms < $parm2) {
return "yes";
} else {
return "no";
}
}
然后像这样调用它:
$result = my_little_function("1","2");
echo "The answer is $result." . "\n";
我有一些代码,不是我写的,它在上面的 my_little_function 这样的函数的传统用法中一起使用了“function”和“use”。
我对此感到困惑,并向更有经验的 PHP 开发人员提出一些问题。这是我所指的工作 PHP 代码的一部分:
$neededObject = array_filter($st_ny_trip->STOPS->STOP,function($e) use ($final_desired_dest,$connect_raw){return $e->NAME == $final_desired_dest && DateTime::createFromFormat("m/d/Y g:i:s a", $e->TIME) > $connect_raw;});
$e
没有在函数的任何部分或程序的其余部分设置,那么使用的是什么$e
?它如何传递一个值以及它是如何被使用的?这个函数似乎没有名字,所以我不知道它是如何被调用的,它是如何完成的?
这是创建一个函数,即时使用并且每次调用此代码时都会重新生成它?如果它是一个函数,为什么不在这个函数之外创建它并调用它呢?
我自己还没有使用过“使用”,所以这对我来说很陌生。我在 php.net 上查找了它,它看起来像是一种为某物赋值的方法,但我找不到任何实际示例来说明为什么需要它以及何时应该使用它。
我查了一下array_filter
,它说它是“使用回调函数过滤数组的元素”。我不知道回调函数是什么。是指function($e)
吗?
上面的 PHP 代码行是否应该采用$neededObject
不同的格式以便于阅读?