Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Oznaczenie rekordów zduplikowanych w tablicy
Bondar91
post 12.03.2019, 11:46:04
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 16.01.2014

Ostrzeżenie: (0%)
-----


Witam,

mam taki problem, mam sobię tablicę która wygląda tak:
  1. array(5) {
  2. [0]=>
  3. array(2) {
  4. ["order_id"]=>
  5. string(6) "123227"
  6. ["lp"]=>
  7. string(1) "0"
  8. }
  9. [1]=>
  10. array(2) {
  11. ["order_id"]=>
  12. string(6) "123227"
  13. ["lp"]=>
  14. string(1) "0"
  15. }
  16. [2]=>
  17. array(2) {
  18. ["order_id"]=>
  19. string(6) "123227"
  20. ["lp"]=>
  21. string(1) "0"
  22. }
  23. [3]=>
  24. array(2) {
  25. ["order_id"]=>
  26. string(6) "123226"
  27. ["lp"]=>
  28. string(1) "0"
  29. }
  30. }


W jaki sposób mógłbym zmienić wartość dla pola lp w taki sposób, ze jak jest to samo order_id , dla pierwszego rekordu który ma te samo order_id, lp ustawić na 1, a dla pozostałych 0( czyli w podanym wyżej przykładzie występuje 3 razy rekord o order_id 123227, jak dla pierwszego rekrodu lp ustawić na 1 a dla dwóch pozsotałych zostawić 0) , domyślnie jeśli występuje tylko jednen rekord o danym numere order_id lp ma być ustawione na 0. Ktoś coś podpowie smile.gif?

Ten post edytował Bondar91 12.03.2019, 11:51:28
Go to the top of the page
+Quote Post
freemp3
post 12.03.2019, 13:25:19
Post #2





Grupa: Zarejestrowani
Postów: 453
Pomógł: 73
Dołączył: 6.09.2008
Skąd: Miechów / Kraków

Ostrzeżenie: (0%)
-----


Tworzysz sobie dodatkową tablicę w której kluczem będzie wartość z order_id, a wartością indeks w tablicy z elementami.
Następnie lecąc w pętli po tablicy z elementami ustawiasz im wartość "lp" na 0 oraz dodajesz do tej dodatkowej elementy na zasadzie "order_id -> indeks".
W przypadku, gdy istnieje już klucz o danym order_id to nie dodajesz, tylko pobierasz wartość z dodatkowej tablicy dla danego klucza order_id. Mając indeks, możesz ustawić wartość "lp", dla pierwszego elementu na 1.


--------------------
Niemożliwym jest stworzenie czegokolwiek idiotoodpornego, ponieważ idioci są wyjątkowo pomysłowi.

http://aroch.pl
https://themeforest.net/user/aroch
http://astroblog.aroch.pl
http://www.koszulki.aroch.pl
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.03.2019 - 23:54