2Danke
ERLEDIGT
JA
JA
ANTWORTEN
11
11
ZUGRIFFE
404
404
EMPFEHLEN
-
Hallo,
Ich möchte zwei multidimensionale Arrays vergleichen.
Hier einmal mein Code:
gibt mir leider das zurück:PHP-Code:<?php
$array1 = array(0 => array(0 => "test"), 1 => array(1 => "test2"), 2 => array(2 => "test3"));
$array2 = array(0 => array(0 => "test"), 1 => array(1 => "test2"), 3 => array(2 => "test3"));
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
Code :1
Array ( [2] => Array ( [2] => test3 ) )
Ich möchte gerne, dass ich ein leeres Array zurückbekomme, da ja alle Values übereinstimmen!
Wie kann ich das erreichen?
Ich möchte nur die Werte vergleichen, da die Indexe abweichen können, wie im Beispiel.Geändert von jannicars (31.12.11 um 21:57 Uhr)
Tutorials: Ajax JSON Chat PHP
-
Du kannst ja nicht einfach die Werte vergleichen, bei anderen Indexes.... Ist ja als ob du Äpfel mit Birnen vergleichst. Wäre mir jedenfalls neu, dass das funktioniert.
Ich weiß nicht ob man das kann, aber du könntest versuchen die Indexe von 0 an bei beiden Arrays neu aufzureihen, damit diese gleich sind und dann erst vergleichen.
Guten Rutsch
-
Hallo,
Das ist denk ich auch mal keine gute Lösung,
da die Daten aus dem 1. Array aus einer Datenbank kommen und die id's
somit die indexe könnten extrem abweichen, deswegen denk ich mal, würde das neusortieren auch nix bringen.
Was ich erreichen möchte:
Als erstes lade ich aus einer externen Quelle eine Liste und pack alles in ein Array(in dem Fall Array1)
nun lade ich alle vorhanden Objekte aus meiner lokalen Datenbank und pack sie in das 2. Array.
Nun möchte ich diese beiden Arrays vergleichen und gucken, welche noch aus der ersten externen Quelle nicht in meiner Datenbank sind.
Deswegen könnten die ID's halt extrem abweichen!
Hätte jemand dazu eine gute Lösung?
Ebenfalls Guten RutschTutorials: Ajax JSON Chat PHP
-
01.01.12 01:53 #4
Gehen wird es, ist jedoch sehr aufwending.
Dafür musst du eine Rekursive Funktion schreiben.
Diese muss prüfen ob der inhalt ein array oder ein wert ist.
- Bei einem Array ruft sich die funktion selbst auf (rekursiv).
- Bei einem Wert wird dieser in ein Array eingetragen
Allerdings weis ich nicht genau wie bei dir die Arrays
ineinander aufgebaut sind und in wie
die Arrays vergleichbar sind.
Aber eine Rekursion für einen solchen vergleich
je nach dem wie groß das Array ist wird extrem groß sein
und evtl. sogar von der laufzeit her für einen timeout sorgen bei zu vielen Daten.
Kannst du die Daten den nicht in ein normales Array einlesen?
Bzw. gibt es bei deinem Multidimensionalen Array eine Maximale tiefe? Also das z.B. nur 2 arrays ineinander geschachtelt werden.?Lg H4ckHunt3r
Auf Danke klicken kostet nichts und weh tut es auch nicht ;)
Meine Homepage | Mein Projekt | Mein Clan
-
Hallo,
Also die 2 Arrays müssen in einer Schleife gebildet werden.
Wie ich in einer Schleife ein normales Array bilden soll..ka..?
Jedes Array hat so um die 30.000 Werte(Tendenz steigend).
Und die multidimensionale Array Struktur ist wie oben im Beispiel!
Die Scriptlaufzeit ist eigentlich egal, da ich nen eigenen Server habe, das dann per
Cronjob aufgerufen wird..natürlich söllte es nicht zu stark verzögern und zu
RAM lastig sein.Geändert von jannicars (01.01.12 um 02:11 Uhr)
Tutorials: Ajax JSON Chat PHP
-
01.01.12 02:11 #6
jeden wert hinzufügen... halt statt
soPHP-Code:$meinArray[] = array("");
falls der wert in einem array ist, musst du haltPHP-Code:$meinArray[] = "";
verwenden und den wert auslesen.PHP-Code:$meinArray[] = $irgendEinArray[0];
Wenn du dan 2 Normale Arrays hast kannst du die 2 arrays alle werte miteinander vergleichen und werte die in beiden vorhanden sind entfernen. So hast du am ende ein array mit allen fehlenden werten. Für das vergleichen musst du dan 2 schleifen verwenden wie beim bubblesort algorythmus.Geändert von H4ckHunt3r (01.01.12 um 02:14 Uhr)
Lg H4ckHunt3r
Auf Danke klicken kostet nichts und weh tut es auch nicht ;)
Meine Homepage | Mein Projekt | Mein Clan
-
Ok, danke dir!
Werd ich mich mal morgen dransetzen(um diese Uhrzeit wird das wohl nix mehr bringen)!Tutorials: Ajax JSON Chat PHP
-
Ok so scheint das recht gut zu funktionieren!
Würde es sinn machen Array1 und 2 danach einmal unset(); machen, würde dies den RAM entlasten?
Weil um 30.000 Werte können bestimmt ganz schön zumüllen.Tutorials: Ajax JSON Chat PHP
-
01.01.12 16:35 #9
- Registriert seit
- May 2006
- Ort
- There is no place like 127.0.0.1
- Beiträge
- 3.521
Wenn danach noch einiges an Code ausgeführt wird, wäre es sinnvoll. Wenn nicht, macht das PHP beim Beenden des Scripts selbst (Garbage Collector).
Grüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
Dann werd ich das auch machen.
Danke.Tutorials: Ajax JSON Chat PHP
-
Wenn du kein Index-Verlgleich haben willst, dann mach ein array_diff() anstelle des array_diff_assoc() und schon hast du was du brauchst.
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Klappte aber komischerweise bei einem multidimensionalen Array nicht.
Ich hab dann ein normales Array gemacht und jetzt läuft das einwandfrei!Tutorials: Ajax JSON Chat PHP
Ähnliche Themen
-
multidimensionales array durchsuchen
Von keckskoenig im Forum PHPAntworten: 6Letzter Beitrag: 25.01.08, 13:36 -
Werte in ein Multidimensionales Array schreiben
Von MiMi im Forum PHPAntworten: 0Letzter Beitrag: 13.12.07, 11:58 -
Multidimensionales Array sortieren
Von gidde im Forum PHPAntworten: 12Letzter Beitrag: 04.11.05, 12:57 -
Multidimensionales Array sortieren
Von firespawn im Forum PHPAntworten: 1Letzter Beitrag: 25.05.05, 23:45 -
Multidimensionales Array auslesen
Von akkie im Forum PHPAntworten: 5Letzter Beitrag: 13.03.03, 22:45





Zitieren


Login






[PHP][Snippet] Array zu XML konvertieren