gpt4 book ai didi

PHP 比较二维数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:42:03 24 4
gpt4 key购买 nike

我一直在为这个问题绞尽脑汁。

我有两个数组:

数组 1 从 CSV 文件中提取。

Array(    [0] => Array        (            [uid] => cgajate            [date] => 20120918        )    [1] => Array        (            [uid] => badrock5            [date] => 20120920        )    [2] => Array        (            [uid] => ricoetc            [date] => 20120921        )    [3] => Array        (            [uid] => ricoetc1            [date] => 20120923        )    [4] => Array        (            [uid] => darbyfired            [date] => 20120922        )    [5] => Array        (            [uid] => sagers.andrew            [date] => 20120922        )    [6] => Array        (            [uid] => frankfurt9            [date] => 20120923        )    [7] => Array        (            [uid] => beachboys            [date] => 20120923        )    [8] => Array        (            [uid] => panterafan            [date] => 20120923        )    [9] => Array        (            [uid] => kingsxrules            [date] => 20120923        )    [10] => Array        (            [uid] => richard.bitto            [date] => 20120924        )    [11] => Array        (            [uid] => christopher.boss            [date] => 20120925        )    [12] => Array        (            [uid] => eric.robinson2            [date] => 20120926        ))

数组 2 从 SQL 数据库中提取。

Array(    [0] => Array        (            [uid] => cgajate            [date] => 20120919        )    [1] => Array        (            [uid] => ricoetc            [date] => 20120921        )    [2] => Array        (            [uid] => ricoetc1            [date] => 20120922        )    [3] => Array        (            [uid] => frankfurt9            [date] => 20120923        )    [4] => Array        (            [uid] => beachboys            [date] => 20120923        )    [5] => Array        (            [uid] => panterafan            [date] => 20120923        )    [6] => Array        (            [uid] => kingsxrules            [date] => 20120923        )    [7] => Array        (            [uid] => eric.robinson2            [date] => 20120926        ))

我基本上要做的是检查是否有任何 UID 匹配。如果有匹配项,它将检查哪个日期比另一个日期更新(因此本质上是哪个日期大于)。然后它将它们添加到一个数组中,其中包含两个数组中 UID 不匹配的数据。

如果难以理解,请见谅。有点难以解释。

感谢任何帮助,提前谢谢大家。

最佳答案

由于 PHP 数组本身就是 HashMap ,您可以遍历一个数组并将每个日期插入一个新数组,以 UID 为键:

$out = array();
foreach ($first_array as $x) {
$out[$x['uid']] = $x['date'];
}

然后,您可以遍历第二个数组,检查是否有任何 UID 作为键存在于 $out 数组中。如果 UID 已经存在,那么您可以比较日期并获取您喜欢的任何数据。例如,像这样的东西:

foreach ($second_array as $y) {
if (array_key_exists($y['uid'], $out)) {
if ($out[$y['uid']] < $y['date']) {
$out[$y['uid']] = $y['date'];
}
} else {
$out[$y['uid']] = $date;
}
}

然后,将数据展平:

$_out = array();
foreach ($out as $uid => $date) {
$_out[] = array("uid" => $uid, "date" => $date);
}
$out = $_out;

关于PHP 比较二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12649648/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com