$isac_start = microtime(true);
function ilog($m) use ($isac_start){
$time_elapsed_secs = microtime(true) - $isac_start;
file_put_contents(__DIR__.'/debug_log.txt', $m . " - time elapsed: " . $time_elapsed_secs . "\n", FILE_APPEND | LOCK_EX);
}
给了我
未定义的变量$isac_start
;
为什么呢?如何解决?
答案 0 :(得分:3)
https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines?redirectedfrom=MSDN
关键字旨在与closures一起使用(请参阅示例3),它不适用于常规函数。以下演示了正确的用法:
use
答案 1 :(得分:2)
use
不适用于命名函数,仅适用于匿名函数。为了将$isac_start
放入函数范围,您可能只需将其作为附加参数传递,如:
function ilog($m, $isac_start) { ...
use
的存在是为了让匿名函数能够从父作用域继承变量,这对于普通的用户定义函数来说并不是必需的。