如何删除foreach语句中的重复值?

下面是我的$data数组:

数组([0]=>数组([idx]=>1[id]=>1[mname]=>test1[hname] =>Test1[bdate]=>0000-00-00)[1]=>数组([IDX]=>2[id]=>1[mname]=>Test1[名称]=>Test1[bdate]=>0000-00-00)[2]=>数组 ([IDX]=>3[id]=>1[mname]=>Test1[hname]=>Test1[bdate]=> 0000-00-00)[3]=>数组([idx]=>4[id]=>1[mname]=>test1 [名称]=>测试1[bdate]=>2024-01-01)[4]=>数组([IDX]=>5 [ID]=>1[名称]=>测试1[名称]=>测试1[bdate]=>2024-01-03) [5]=>数组([IDX]=>6[id]=>1[mname]=>test1[hname]=>test1 [bdate]=>2024-01-05)[6]=>数组([idx]=>7[id]=>1[mname]=> Test1[hname]=>Test1[bdate]=>2024-01-07)[7]=>数组([IDX]=> 8[id]=>1[mname]=>test1[hname]=>test1[bdate]=>2024-01-09) [8]=>数组([IDX]=>9[id]=>1[mname]=>test1[hname]=>test1 [bdate]=>0000-00-00)[9]=>数组([idx]=>10[id]=>1[mname] =>测试1[名称]=>测试1[名称]=>测试1[名称]=测试1[名称]=>测试1[名称]=>测试1[日期]=> 0000-00-00)[11]=>数组([idx]=>12[id]=>1[mname]=>test1 [名称]=>测试1[bdate]=>0000-00-00)[12]=>数组([IDX]=>13 [ID]=>1[名称]=>测试1[名称]=>测试1[bdate]=>0000-00-00) [13]=>数组([IDX]=>14[id]=>1[mname]=>test1[hname]=> 测试1[bdate]=>2024-01-22)[14]=>数组([idx]=>15[id]=>1 [mname]=>test1[hname]=>test1[bdate]=>2024-01-22)[15]=> 数组([IDX]=>16[id]=>1[mname]=>test1[hname]=>test1 [bdate]=>2024-01-22)[16]=>数组([idx]=>17[id]=>1[mname] =>测试1[名称]=>测试1[名称]=>测试1[名称]=测试1[名称]=>测试1[名称]=>测试1[日期]=> 2024-01-22)[18]=>数组([IDX]=>19[id]=>1[mname]=>test1 [名称]=>测试1[bdate]=>2024-01-22)[19]=>数组([IDX]=>20 [ID]=>1[名称]=>测试1[名称]=>测试1[bdate]=>2024-01-22) [20]=>数组([IDX]=>21[id]=>1[mname]=>test1[hname]=> 测试1[bdate]=>2024-01-22)[21]=>数组([idx]=>22[id]=>1 [mname]=>test1[hname]=>test1[bdate]=>2024-01-22)[22]=> 数组([IDX]=>23[id]=>1[mname]=>test1[hname]=>test1 [bdate]=>2024-01-22)[23]=>数组([idx]=>24[id]=>1[mname] =>测试1[名称]=>测试1[名称]=>测试1[名称]=测试1[名称]=>测试1[名称]=>测试1[日期]=> 2024-01-22)[25]=>数组([idx]=>26[id]=>1[mname]=>test1 [名称]=>测试1[bdate]=>2024-01-22)[26]=>数组([IDX]=>27 [ID]=>1[名称]=>测试1[名称]=>测试1[bdate]=>2024-01-22) [27]=>数组([IDX]=>28[id]=>1[mname]=>test1[hname]=> 测试1[bdate]=>2024-01-22)[28]=>数组([idx]=>31[id]=>1 [mname]=>test1[hname]=>test1[bdate]=>2024-01-22)[29]=> 数组([IDX]=>32[id]=>1[mname]=>test1[hname]=>test1 =>2024-01-22)

Code

<?php
    foreach ($data as $row){
        if($row['bdate'] == '0000-00-00'){
            continue;
        }
        echo '<li>'.$row['bdate'].'</li>';
    }
?>

它的显示如下所示.

2024-01-01
2024-01-03
2024-01-05
2024-01-07
2024-01-09
2024-01-20
2024-01-22
2024-01-22
2024-01-22
2024-01-22
2024-01-22
2024-01-22
2024-01-22
2024-01-22
2024-01-22
2024-01-22
2024-01-22
2024-01-22
2024-01-22
2024-01-22
2024-01-22
2024-01-22
2024-01-22

但我想展示的是:

2024-01-01
2024-01-03
2024-01-05
2024-01-07
2024-01-09
2024-01-20
2024-01-22

如何删除重复的相同日期值?

推荐答案

try 使用关联array.您可以跟踪已打印的日期.

$printed_dates = array();
foreach ($data as $row){
    if($row['bdate'] == '0000-00-00' || isset($printed_dates[$row['bdate']])){
        continue;
    }
    $printed_dates[$row['bdate']] = true;
    echo '<li>'.$row['bdate'].'</li>';
}

Php相关问答推荐

为什么注册SIGHUP的处理程序函数会阻止在PHP CLI中等待输入时点击X关闭Xterm窗口?""

WooCommerce中仅在单一产品和产品档案页面中将小数设置为大写

照明\Support\Collection::Filter():参数#1($Callback)的类型必须为?可调用、已给定数组、已调用

如何将对我的域的请求重定向到子文件夹中的索引,同时保留域URL并使用.htaccess?

PHP从响应应用程序json获取文件代码和URL

将文件添加到存档,而不重建存档

基于自定义域的每个购物车项目的WooCommerce定制数量输入步骤

如何将不同的 Woocommerce 费用合并为一个名称?

Woocommerce 中为空时隐藏显示变体自定义字段数据

在shopware 6.5上可以使用什么事件来判断刚刚支付的订单的状态

基于WooCommerce中的产品变体自定义感谢页面跳转

Woocommerce注册中的自定义复选框验证错误提示问题

在WooCommerce中显示 checkout 的高级自定义字段(Advanced Custom Fields)并保存其值

Laravel:ArgumentCountError: 函数 App\Mail 的参数太少

如何使用相同的变量使函数参数对于数组和字符串都是可选的

判断类别是否存在 Shopware 6

如何将数字文本文件添加到 PHP 数学方程式中?

Laravel Websockets 错误:(WebSocket 在建立连接之前关闭)

为什么非贪婪匹配会消耗整个模式,即使后面跟着另一个非贪婪匹配

复杂的mysql查询问题