Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> przeindeksowanie tablicy
rcdcd
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 19.04.2008

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


Mam taką tablice:

Kod
array(9) {
  ["id_produktu"]=>
  array(6) {
    [2]=>
    string(2) "17"
    [3]=>
    string(2) "17"
    [5]=>
    string(2) "17"
    [1]=>
    NULL
    [4]=>
    NULL
    [0]=>
    NULL
  }
  ["skladniki_id"]=>
  array(6) {
    [2]=>
    string(12) "5, 10, 11, 6"
    [3]=>
    string(12) "5, 10, 11, 6"
    [5]=>
    string(12) "5, 10, 11, 6"
    [1]=>
    NULL
    [4]=>
    NULL
    [0]=>
    NULL
  }
(...)
}


i jak przeindeksować ją, by klucze 0 4 1 zostały nadpisane innymi wartosciami talicy.
Innymi słowy mam tablicę j.w. 5 elementów. Wycinam el. 2 i chcę mieć 0,1,2,3 - w kolejnosci każdy element pełny, a nie 0,1,2,3,4 - gdzie 2 jest NULL
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




  1. $tab = array_merge(array_filter($tab));
Go to the top of the page
+Quote Post
rcdcd
post
Post #3





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 19.04.2008

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


Niestety nie działa ... Dostaję jakies dziwaczne złożenie, w którym usunięty element staje się tablicą ... O dziwo ta tablica w elemecie który był null jest dobra - czyli przeindeksowana bez elementów null.

Ten post edytował rcdcd 17.08.2011, 19:38:40
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Podaj tablicę wejściowa oraz wyjściową (czyli taką jaką chcesz uzyskać)
Go to the top of the page
+Quote Post
rcdcd
post
Post #5





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 19.04.2008

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


Wejściowa:

Kod
array(9) {
  ["id_produktu"]=>
  array(6) {
    [0]=>
    string(2) "17"
    [1]=>
    string(2) "17"
    [2]=>
    string(2) "18"
    [3]=>
    string(2) "30"
    [4]=>
    string(2) "17"
    [5]=>
    string(2) "20"
  }
  ["skladniki_id"]=>
  array(6) {
    [01]=>
    string(12) "5, 10, 11, 6"
    [1]=>
    string(12) "5, 10, 11, 6"
    [2]=>
    string(12) "5, 10, 11, 6"
    [3]=>
    string(12) "5, 10, 11, 6"
    [4]=>
    string(12) "5, 10, 11, 6"
    [5]=>
    string(12) "5, 10, 11, 6"
  }
}



teraz wykonuję:

  1. unset( $array['id_produktu'][2] );
  2. unset( $array['skladniki_id'][2] );
  3. unset( $array['id_produktu'][4] );
  4. unset( $array['skladniki_id'][4] );


I chcę otrzymać:
Kod
array(9) {
  ["id_produktu"]=>
  array(6) {
    [0]=>
    string(2) "17"
    [1]=>
    string(2) "17"
    [2]=>
    string(2) "17"
  }
  ["skladniki_id"]=>
  array(6) {
    [0]=>
    string(12) "5, 10, 11, 6"
    [1]=>
    string(12) "5, 10, 11, 6"
    [2]=>
    string(12) "5, 10, 11, 6"
  }
}


Ten post edytował rcdcd 17.08.2011, 21:20:40
Go to the top of the page
+Quote Post
wookieb
post
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Ech... no przecież działa, wystarczyło przetestować...
  1. $array['id_produktu'] = array_merge(array_filter($array['id_produktu']));
Go to the top of the page
+Quote Post
rcdcd
post
Post #7





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 19.04.2008

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


Mój błąd (IMG:style_emoticons/default/biggrin.gif) działa, dzieki (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 5.10.2025 - 20:44