我有这样的功能:
// merge - merge two or more given trees and returns the resulting tree
function merge() {
if ($arguments = func_get_args()) {
$count = func_num_args();
// and here goes the tricky part... :P
}
}
我可以使用类似的函数检查所有给定的参数是否属于相同的类型/类(在这种情况下是类)get_class()
,is_*()
或者甚至ctype_*()
在单个元素级别运行(据我所知)。
理想情况下,我想做的是类似于in_array()
函数但比较数组中所有元素的类,所以我会做类似in_class($class, $arguments, true)
.
我可以做这样的事情:
$check = true;
foreach ($arguments as $argument) {
$check &= (get_class($argument) === "Helpers\\Structures\\Tree\\Root" ? true : false);
}
if ($check) {
// continue with the function execution
}
所以我的问题是......是否有为此定义的功能?或者,至少,一个更好/更优雅的方法来完成这个?