PHP:仅显示循环中相同数据的最后一个数据

PHP:仅显示循环中相同数据的最后一个数据,php,loops,Php,Loops,我有来自php循环foreach的数据,如下所示 foreach ($query->result() as $row) { echo $row->name; } 如果数据具有相同的值(如果数据具有相同的值,则隐藏除最后一个之外的所有数据),如何使结果仅显示结束数据而不删除其他数据,如下所示: *对不起,英语不好,这是我第一次在这里问。谢谢,这只是一个演示示例 请参见下面的真实示例: 首先,您需要使用array\u search获取相同数据的位置,如果存在,则只需使用$a

我有来自php循环foreach的数据,如下所示

foreach ($query->result() as $row) {
    echo $row->name;
}

如果数据具有相同的值(如果数据具有相同的值,则隐藏除最后一个之外的所有数据),如何使结果仅显示结束数据而不删除其他数据,如下所示:

*对不起,英语不好,这是我第一次在这里问。谢谢,这只是一个演示示例

请参见下面的真实示例:

首先,您需要使用
array\u search
获取相同数据的位置,如果存在,则只需使用
$arr[$pos]=''删除它
,每次需要将数据导入名为
$arr
的新数组时,以及在完成数据获取后,需要使用foreach循环打印数据时

$arr = array();
foreach($query->result() as $row){
    $pos = array_search($row->name, $arr);
    if($pos !== false)
        $arr[$pos] = '';
    $arr[] = $row->name;    
}

foreach($arr as $val){
    echo $val.'<br/>';
}
$arr=array();
foreach($query->result()作为$row){
$pos=数组搜索($row->name,$arr);
如果($pos!==false)
$arr[$pos]='';
$arr[]=$row->name;
}
外汇($arr作为$val){
回显$val.“
”; }

检查此项并让我知道。

数据搜索方法可能会有所帮助。这假设您的阵列的顺序是合理的

$rowCount = 0;
$res = $query->result();
foreach($res as $row) {
    if ($rowCount < $res->num_rows - 1) {
        // set internal pointer to next row
        $res->data_seek($rowCount + 1);
        // if the row names match, print an empty string
        // otherwise print the current name
        $nextRow = $res->fetch_row();
        if ($row->name == $nextRow->name) {
            echo "";
            // reset the internal pointer
            $res->data_seek($rowCount);
        } else {
            echo $row->name;
        }
     } else {
         echo $row->name;
     }
    // update the row count
    $rowCount += 1;
}
$rowCount=0;
$res=$query->result();
foreach($res作为$row){
如果($rowCount<$res->num_行-1){
//设置指向下一行的内部指针
$res->data\u seek($rowCount+1);
//如果行名称匹配,则打印空字符串
//否则,打印当前名称
$nextRow=$res->fetch_row();
如果($row->name==$nextRow->name){
回声“;
//重置内部指针
$res->data\u seek($rowCount);
}否则{
echo$row->name;
}
}否则{
echo$row->name;
}
//更新行计数
$rowCount+=1;
}

给出了一个有限的示例,我建议使用过滤,否则您需要比较最后一个值,或者,如果该值以前被重复过。你想要任何元素的最高索引还是只想使其唯一?请向你展示mysql获取代码。你能给我示例代码吗?这段代码只是一个示例,让问题更容易通过覆盖值,空格将位于字母上方,不在下面的
图片中
在这个例子中,好像有3个B而不是3个C的投票,我想我是这样做的,这就是为什么你会这样做。您能解释一下吗?当您使用
pos
更改值时,会将非空项向下推。因为pos变为空白,而您将值添加到数组的末尾。哈哈,我的错误,小心点。。。那口气有点敌意。在一个落后的VPN连接上有点困难,如果订单没有保证,仍然会有问题,只是说。谢谢你,数据\u寻求帮助我,我可以使用下一行到codeigniter