函数名称:ParentIterator::hasChildren()
适用版本:PHP 5, PHP 7
函数描述:ParentIterator::hasChildren() 方法用于检查当前迭代器位置的父级元素是否有子元素。
用法示例:
// 创建一个数组迭代器
$array = [
'fruit' => ['apple', 'banana', 'orange'],
'vegetable' => ['carrot', 'lettuce', 'tomato']
];
$iterator = new RecursiveArrayIterator($array);
// 创建一个父级迭代器
$parentIterator = new ParentIterator($iterator);
// 检查父级元素是否有子元素
while ($parentIterator->valid()) {
if ($parentIterator->hasChildren()) {
echo $parentIterator->key() . " has children\n";
} else {
echo $parentIterator->key() . " does not have children\n";
}
$parentIterator->next();
}
输出结果:
fruit has children
vegetable has children
在示例中,我们首先创建了一个包含水果和蔬菜的多维数组。然后,我们使用RecursiveArrayIterator将数组转换为可迭代对象。接下来,我们创建了一个ParentIterator对象,并将之前创建的迭代器作为参数传递给它。然后,我们使用while循环遍历ParentIterator对象,并使用hasChildren()方法检查父级元素是否有子元素。如果有子元素,则输出父级元素的键名,表示该元素有子元素;如果没有子元素,则输出父级元素的键名,表示该元素没有子元素。