私はこのような機能を持っています:
// 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
}
だから私の質問は...これに定義された関数はありますか? または、少なくとも、これを達成するためのより優れた/よりエレガントな方法はありますか?