Was ich versuche zu erreichen ist, dass es durch das Array läuft. Dann wird es aussehen, wenn die Elemente in dem Array an drei Punkten identisch sind: product_id, der Größenwert und der Farbwert. Ich möchte ein neues Array erstellen, in dem die Elemente aufgelistet sind. Das einzige, was ich nicht möchte, sind die duplizierten Werte. Ich möchte, dass die duplizierten Werte, wenn sie an diesen drei Punkten gleich sind, dass die Menge zusammen gezählt wird. Wie wenn ich 3 Artikel gleiche Produkt ID gleiche Größe und gleiche Farbe und beide der drei habe Ich bestellte 3 Artikel in meinem neuen Array das ist nur 1 Mal und die Menge wird 9. Also wird es keine doppelten Werte in meinem neuen Array.
Stromschleife
%Vor%ergibt das folgende Array
%Vor%Art von was ich suche ..
%Vor%Lösung Beachten Sie, dass es Blade-PHP als Frontend ist.
Back-End
%Vor%Frontend
%Vor%Versuchen Sie es (ungetestet, aber die Logik sollte stimmen):
%Vor%Bearbeiten : Entschuldigung, ich habe Ihren Beitrag nur noch einmal gelesen und festgestellt, dass Sie keine vollständige Lösung wünschen. Es tut uns leid. Aber ich hoffe, dass Ihnen das zeigen kann, dass Nested Loops der richtige Weg sind. Wie in den Kommentaren erwähnt, gibt es dafür in PHP (AFAIK) keine eingebaute Funktion.
Dies ist keine Lösung, sondern ein anderer Ansatz, mit dem Sie nach objektorientierter Programmierung denken können Es wird dir in deinen aktuellen und nächsten Problemen sehr helfen.
Nun haben Sie einen Geschäftsfall, der in Ihrer Business-Schicht aufgelöst werden muss Ich kann Ihnen helfen, wenn Sie möchten,
%Vor% Jetzt können Sie problemlos 2 Products Object vergleichen, und das Aktualisieren von equals()
wirkt sich später nicht auf Ihren Code aus
Sie haben einige gute Antworten von anderen Benutzern.
Ich möchte dies jedoch für Google-Mitarbeiter oder andere Benutzer in der Planungsphase und für Ihr eigenes Wissen veröffentlichen.
Mit Ihrem Beispiel verwenden Sie einen Einkaufskorb. Sie sollten niemals doppelte Objekte im Array haben, Sie sollten eine Mengenmessung für das Objekt verwenden und vor dem Hinzufügen zu Ihrem Array überprüfen Sie das Array, wenn das entsprechende Objekt vorhanden ist, erhöhen Sie die Menge.
als Ihre aktuelle Art und Weise, wie Ihr Code das Array nachher ohne guten Grund verarbeitet, wenn ich 20 desselben Elements hinzufügen würde, würde Ihr aktuelles System ein Array von 20 haben, um jedes Mal, wenn ich den Korb öffnete, zu durchlaufen.
Diese andere Methode bietet Ihnen auch Unterstützung für Personen, die mehrere Mengen von Artikeln gleichzeitig hinzufügen können. Bearbeiten Sie auch die Mengen auf Ihrer Warenkorbseite
Bitte beachten Sie die Annahmen unter dem Code
%Vor%Annahmen: