Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Usuwanie tablicy z tablicy
Forum PHP.pl > Forum > Przedszkole
Mefisto_87
Mam tablice wielowymiarową ,przeczesałem php.manual i znalazłem tylko array_slice i funkcje unset..jednak czy to na pewno pozwoli mi usunąć tablice z tablicy.. bo nie za bardzo rozumiem na czym polegają te funkcje.. w manualu jest taki przykład..


  1. $wejscie = array ("a", "b", "c", "d", "e");
  2.  
  3. $wyjscie = array_slice ($wejscie, 2); // zwraca "c", "d" i "e"
  4. $wyjscie = array_slice ($wejscie, -2, 1); // zwraca "d"
  5. $wyjscie = array_slice ($wejscie, 0, 3); // zwraca "a", "b" i "c"


chodzi mi o drugi argument slice tzn na jakiej zasadzie on działa??
2- to wycina 2 pierwsze wartości?
i nie rozumiem reszty prosze o podanie jakiegos przykładu jeśli można
marcio
A dokladnie jaki jest problem i pytanie.

Pokaz co chcesz osiagnac, wtedy bede w stanie ci pomoc.

Mefisto_87
chcem usuwac konkretną tablice z tablicy pomaga mi przy tym funkcja unset.. bo jak wezme unset(tablica[0]) to usunie mi 1 tablice z tablicy.. problem w tym że wtedy klucze pozostałych tablic nie są liczone od 0 a chce osiągniąć coś takiego


$tablica=array(0 => tablica0, 1 =>tablica1, 2 =>tablica2 itd)

i po unset($tablica[0])

bede miał

$tablica=array(1 =>tablica1, 2 =>tablica2 itd)

a teraz jak zrobic żeby było

$tablica=array(0 =>tablica1, 1 =>tablica2 itd)
vokiel
Przeczytaj co piszą w manualu nt funkcji array_slice
Cytat
If offset is non-negative, the sequence will start at that offset in the array . If offset is negative, the sequence will start that far from the end of the array .

offset to ten drugi parametr.

Co do rozwiązania Twojego problemu to wystarczy użyć array_slice od 1-szego elementu tablicy:
  1. $tablica_nowa = array_slice($tablica_stara, 1);


edit:
chcemquestionmark.gif chcę
Mefisto_87
Tak rozumiem potestowałem już wczoraj dobrze slice i ona nie daje mi rządanego rezultatu... pokazałem przykładowe usuniecie $tablica[0]..tylko w skrypcie będzie $tablica[$n] gdzie $n jest całkowicie losowe dlatego slice sie do tego nie nada.. funkcja unset usunie mi to co chce ale wtedy klucze nie są od 0
vokiel
A będziesz znał to n? I czy będziesz chciał wycinać elementy tablicy od początku/końca, czy też ze środka?
Mefisto_87
tzn problem rozwiązałem już inaczej(przebudowałem sobie skrypt i w ogóle nie muszę z tego korzystać).. samego n nie będę znał bo wylosuje je skrypt i dlatego nie będę miał zielonego pojęcia jakie liczby wstawić by wyciąć odpowiedni index.. z tego też względu array_slice odpada bo musiałbym napisać x warunków żeby wszytko sprawdziły, bardziej przydała się funkcją unset() która usunie mi ten "n" idnex ,ale wtedy klucze nie będą liczyły się od 0 do końca tablicy..
jak już pisałem problem rozwiązałem inaczej ale także znalazłem sposób na poprawę tego można po prostu utworzyć nową tablicę z indexami od 0 do x i za pomocą array_combine połączyć ją z tamtą tablicą.. temat do zamknięcia dziękuje wszystkim którzy chcieli pomóc
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.