Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sortowanie tablicy
Forum PHP.pl > Forum > Przedszkole
grda
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ć?
trueblue
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.
grda
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ę
Pyton_000
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.