"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

PHP: Array-Problem

COLOSSUS 10.08.2003 - 12:00 482 5
Posts

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12070
Ich habe 2 Arrays, beide nicht-assoziativ, mit numerischem Index und variabler Länge. Array1 hat (jeweils ohne Keys/Indizes) die Ausmaße 1*X; Array2 2*Y. Array1 ist kleiner als oder gleich groß wie Array2; jeweils ein Wert aus einer Zelle von Array1 kommt in der ersten Zelle ([0]) einer Zeile des 2. Arrays vor (d.h., die erste Spalte von Array2 beinhaltet alle Daten aus Array1, im ungünstigsten aber leider gebräuchlichen Fall aber auch weitere Daten). Nun will ich alle Werte, die in Array1 NICHT vorhanden sind, aus Array2 löschen, und dabei den dazugehörigen Wert in der zweiten Zelle der jeweiligen Zeile ([1]) auch killen.

Ich hab gestern schon gute 4 Stunden mit anderen PHP-Problemen gebattlet, und da ich mich erst seit wenigen Tagen wieder ernsthafter damit beschäftige, fehlt mir die Erfahrung, um das Problem "bloß so" zu loesen. Meine Hoffnung setze ich darin, dass dies nicht auf alle hier zutrifft ;)

Sollte bei meinen obigen Ausführungen irgendetwas unklar sein, bitte ich um eine Anmerkung in diese Richtung.

Tia für Input, colo.

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von COLOSSUS
Sollte bei meinen obigen Ausführungen irgendetwas unklar sein, bitte ich um eine Anmerkung in diese Richtung.
was zum geier is X/Y? wo hast du beim array spalten??

dein problem versteh ich aber, aber den "hintergrund" nicht... lösung sollte eigentlich ganz simpel sein...

auf jeden fall wär es praktisch wenn du das oben bemängelte noch ein bißchen verständlicher ausführen könntest (viell. graphisch?), dann schreib ich dir ne lösung ;)

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Ich find's verständlich genug. X, Y sind halt die Größen der Arrays, und wenn du ein 2-dimensionales Array als Tabelle aufschreibst, hast du auch Spalten (2-spaltig in seinem Fall)

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
hmm, ich denke ich habs jetzt auch geschnallt...:
Code:
<?php
$array1 = [input]
$array2 = [input]

checkarray($array1,$array2);

function checkarray($ar_needle,$ar_haystack)
{
	foreach ($ar_haystack as $key => $entry)
	{
		if(is_array($entry))
		{
			$ar_haystack[$key] = checkarray($ar_needle,$ar_haystack);
			next;
		}
		else
		{
			if(!in_array($entry,$ar_needle))
			{
				unset($ar_haystack[$key]);
			}
		}
	}
}

?>
[edit] aja: rekursiv ;)

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12070
Hab das Problem inzwischen schon anders gelöst.

Danke trotzdem für die wie gewohnt großartige und kompetente Hilfe :)

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von COLOSSUS
Hab das Problem inzwischen schon anders gelöst.

Danke trotzdem für die wie gewohnt großartige und kompetente Hilfe :)
magst deine erkenntnisse nicht mit uns teilen? :)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz