Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Sortowanie tablicy
grda
post 8.03.2018, 19:55:42
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 2.01.2018

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


Witam.Poszukuję pomocy w posortowaniu i zliczeniu wartości takiej tablicy:
  1. 0 => array: [
  2. "booking" => "magazynier 1",
  3. "count" => "4"
  4. ],
  5. 1 => array: [
  6. "shipping" => "magazynier 2",
  7. "count" => "37"
  8. ],
  9. 2 => array: [
  10. "shipping" => "magazynier 1",
  11. "count" => "4"
  12. ]
  13. ]


Tablica jest wynikiem wszystkich przyjęć i wysyłek wykonanych przez pracowników. A potrzebuję uzyskać tak posortowaną tablicę.

  1. 0 => array: [
  2. "user"=> "magazynier 1" ,
  3. "booking"=> "4",
  4. "shipping"=> "4"
  5. ],
  6. 1 => array: [
  7. "user"=> "magazynier 2" ,
  8. "booking"=> "0",
  9. "shipping"=> "37"
  10. ]
  11. ]


Może mnie ktoś nakierować jak mam się do tego zabrać?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
trueblue
post 8.03.2018, 20:46:36
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Iterujesz po tabeli źródłowej. Sprawdzasz czy wartość klucza booking/shipping istnieje w tabeli docelowej. Jeśli nie istnieje, to dodajesz klucz user o odpowiedniej wartości i drugi klucz booking/shipping o zadanej wartości. Jeśli istnieje to dodajesz klucz booking lub shipping.

Jeśli możliwe jest wystąpienie tego samego magazyniera z booking lub shipping kilkukrotnie, to oprócz dodawania samego klucza booking/shipping należy dodawać do wartości już istniejącego klucza.


--------------------
Go to the top of the page
+Quote Post
grda
post 8.03.2018, 21:52:54
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 2.01.2018

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


Ok, ale nie wiem jak poradzić sobie z dostępem do kluczy. Jedne co mi przychodzi do głowy dwie zagnieżdżone pętlę foreach, przy zmieniającej się nazwie klucza. Przy próbie
  1. foreach ($result as $k=>$v)
  2. {
  3. foreach ($v as $k2=>$v2) {
  4. $final[]["user"] = $result[$k][$k2];
  5. }
  6. }

wychodzi bełkot facepalmxd.gif
Podpowiedz mi tylko jak sobie poradzić z tymi g***mi kluczami, a dalej już sobie poradzę
Go to the top of the page
+Quote Post
Pyton_000
post 9.03.2018, 08:40:14
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Nie potrzebujesz tej wew. pętli.

$v['user'] wyświetli użytkownika, analogicznie zrób dla pozostałych kluczy.

No chyba że to jest nie pełna tablica i tych elementów jest tam dużo więcej.
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: 14.08.2025 - 05:38