webForumDet fria alternativet

differensen mellan två multi-arrayer?

1 svar · 402 visningar · startad av UrMe

UrMeMedlem sedan apr. 2001762 inlägg
#1

Jag har två stycken arrayer som är uppbyggd så här:

foreach($content as $i => $j) {
	$line = split("\t", trim($j));
	$domains["domain"][$i] = $IDN->decode($line[0]);
	$domains["date"][$i] = $line[1];
}

foreach($result as $j => $row) {
	$domains2["domain"][$j] = $row["domain"];
	$domains2["date"][$j] = $row["datedomain"];
}

Nu vill jag plocka ur alla värden i $domains som inte stämmer överens med värdena i $domains2.

Får inte det att fungera riktigt som jag vill.. det här fungerar ju:

$result = array_diff($domains["domain"], $domains2["domain"]);

Men då tappar jag ju "date" kolumnen i den nya arrayen, hur ska man lyckas med detta?

UrMeMedlem sedan apr. 2001762 inlägg
#2

Gjorde om koden en del och kör på array_diff, fick ett förslag på att jämföra multi-arrayer på ett annat forum men det tog flera minuter att köra igenom om båda arrayerna innehöll 15000-20000 värden.

foreach($content as $i => $j) {
	$line = split("\t", trim($j));
	$domains[$i] = $IDN->decode($line[0])."#".$line[1];
}

foreach($result as $j => $row) {
	$domains2[$j] = $row["domain"]."#".$row["datedomain"];
}

$newdomains = array_diff($domains, $domains2);
$olddomains = array_diff($domains2, $domains);
124 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)