已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > PHP > 讨论/求助

标题: php数组去重(已解决)

作者: @Ta

时间: 2021-02-03发布,2021-02-03修改

点击: 3865

输出:print_r($weather);
输出内容:Array ( [0] => Array ( [0] => 20210201 [1] => 小雨/晴 [2] => Array ( [0] => 10 [1] => 2 ) [3] => 西北风3-4级/西北风3-4级 ) ) Array ( [0] => Array ( [0] => 20210201 [1] => 小雨/晴 [2] => Array ( [0] => 10 [1] => 2 ) [3] => 西北风3-4级/西北风3-4级 ) [1] => Array ( [0] => 20210202 [1] => 多云/晴 [2] => Array ( [0] => 10 [1] => 3 ) [3] => 东风3-4级/东风3-4级 ) ) Array ( [0] => Array ( [0] => 20210101 [1] => 晴/晴 [2] => Array ( [0] => 5 [1] => -4 ) [3] => 西南风1-2级/西南风1-2级 ) ) Array ( [0] => Array ( [0] => 20210101 [1] => 晴/晴 [2] => Array ( [0] => 5 [1] => -4 ) [3] => 西南风1-2级/西南风1-2级 ) [1] => Array ( [0] => 20210102 [1] => 多云/晴 [2] => Array ( [0] => 7 [1] => 0 ) [3] => 东风1-2级/东风1-2级 ) ) Array ( [0] => Array ( [0] => 20210101 [1] => 晴/晴 [2] => Array ( [0] => 5 [1] => -4 ) [3] => 西南风1-2级/西南风1-2级 ) [1] => Array ( [0] => 20210102 [1] => 多云/晴 [2] => Array ( [0] => 7 [1] => 0 ) [3] => 东风1-2级/东风1-2级 ) [2] => Array ( [0] => 20210103 [1] => 多云/多云 [2] => )
....此处非完整,后面也是一样的。
数组去重:去除日期相同的数据,保留不一样的天气

[隐藏样式|查看源码]


『回复列表(6|隐藏机器人聊天)』

1.

@森森,能格式化下吗?这样看不懂

(/@Ta/2021-02-03 10:55//)

2. @NowTimehttps://tcnzy.cn/index/tool_box/action/wd/key/Kc%2fLoX29pr9J.html
(/@Ta/2021-02-03 11:14//)

3.

@森森,你把 $weather 变量编码成 json 格式吧,真不好看

echo json_encode($weather);
(/@Ta/2021-02-03 11:20//)

4.

@森森,尝试按照你的数组格式写了下去重的

<?php
$weather = [
    [
        20210201,
        '小雨/晴天',
        [
            10, 2
        ],
        '西北风3-4级/西北风3-4级'
    ],
    [
        20210201,
        '小雨/晴天',
        [
            -2, 5
        ],
        '西北风1-4级/西北风2-4级'
    ],
    [
        20210202,
        '晴天',
        [
            8, 6
        ],
        '西北风3-1级/西北风3-4级'
    ],
];


print_r(arr_deduplication($weather));

/**
 * 去除重复的日期,并保留最新的日期的那个结果
 * @param $weather
 * @return array
 */
function arr_deduplication($weather)
{
    $arr = [];
    foreach ($weather as $v) {
        $arr[$v[0]] = $v;
    }

    //array_values:删除键名,但是保留值
    return array_values($arr);
}
(/@Ta/2021-02-03 11:28//)

5. @NowTime,谢谢,这个方法试了去除不了,我重新修改了一下方式,不用对数组进行修改 再后面加一个计算判断就行了 遇到重复的不计算就行了
(/@Ta/2021-02-03 14:18//)

6.

@森森,因为你给的数据我完全没看懂,只取片面进行编写代码

(/@Ta/2021-02-03 14:40//)

回复需要登录

7月18日 06:40 星期五

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1