我有一系列页码:
foreach($elements as $el) {
$pageno = $el->getAttribute("pageno");
echo $pageno ;
}
可悲的是,它包含重复项。我尝试了以下代码,但它不会返回一个东西:
foreach(array_unique($elements) as $el) {
$pageno = $el->getAttribute("pageno");
echo $pageno ;
}
如何删除重复的页码?在此先感谢:)
答案 0 :(得分:4)
由于我没有您的数据结构,因此我提供了一个通用的解决方案。如果我们知道$elements
的结构,可以优化这一点,但下面的内容应该适合您。
$pageNos = array();
foreach($elements as $el) {
$pageno = $el->getAttribute("pageno");
if(!in_array($pageno, $pageNos))
{
echo $pageno ;
array_push($pageNos,$pageno);
}
}
基本上我们只是使用一个额外的数组来存储打印值。每次我们看到一个新值时,我们都会打印它并将其添加到数组中。
答案 1 :(得分:1)
您可以创建临时的页码列表。然后将从$ elements列表中删除重复的实例:
// Create a temporary list of page numbers
$temp_pageno = array();
foreach($elements as $key => $el) {
$pageno = $el->getAttribute("pageno");
if (in_array($pageno, $temp_pageno)) {
// Remove duplicate instance from the list
unset($elements[$key]);
}
else {
// Ad to temporary list
$temp_pageno[] = $pageno;
}
echo $pageno ;
}
答案 2 :(得分:1)