我可以安全地将函数放在phpforeach语句声明中吗


Can I safely put a function in php foreach statement declaration?

在foreach语句中放入函数是否安全?

foreach( get_class_methods( $object ) as $entityMethod ) {
    // Do something
}

是否会在每个循环中调用get_class_methods((函数?有什么缺点吗?

唯一不安全的情况是函数可能返回不可迭代的内容(如nullstring等(。该特定函数在出现任何错误时都会返回null

函数在进入循环时只会得到一次求值。但您可以通过创建一个函数来测试这一点,该函数在每次调用全局变量时都会递增一个全局变量。

至于缺点,我想不出任何缺点。。