Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Rozbicie tablicy
Forum PHP.pl > Forum > Przedszkole
Damiankossek
Witam, mój kod wygląda następująco:
  1. <?php
  2.  
  3. $_POST['username'] = "Jacek";
  4. $_POST['password'] = "Kowalski";
  5. $_POST['surname'] = "haslo";
  6.  
  7. $arrayek = $_POST;
  8.  
  9. foreach($arrayek as $k => $v)
  10. {
  11. $array[$k] = null;
  12. $array[$v] = null;
  13. }
  14.  
  15. print_r($array);
  16.  


Chciałbym rozbić zmienną $arrayek na dwie części smile.gif Czyli mieć talice z : Array('username','password','surname') i Array('Jacek','Kowalski','Haslo'). Niestety ale tym sposobem co wyżej wymieniłem otrzymuje:

Array('username' =>,'password' =>,'surname' =>)

Zapewne ze względu na to że tablica = NULL . Jak utworzyć taką tablice jak ja potrzebuje ?
markonix
Już na samym początku czegoś nie rozumiem.
Chcesz otrzymać DWIE tablice to dlaczego w pętli tworzysz tylko jedną?

Wynik print_r, który napisałeś to chyba nie z tego kodu.
Jak byk widać że tworzy tablice o indeksach: indeks, wartość, indeks, wartość, index, wartość (wszystko = null)

Rozwiązanie:
Twórz DWIE tablice. Indeks zostaw pusty [] no a wartość to $k dla tablicy pierwszej, $v dla drugiej (i tak 3 razy).
maviozo
Żadnych pętli nie trzeba smile.gif
Aby uzyskać Array('username','password','surname') :
Kod
$tab1=array_keys($_POST);


Aby uzyskać Array('Jacek','Kowalski','Haslo') :
Kod
$tab2=array_values($_POST);
Damiankossek
Cytat(markonix @ 30.11.2010, 01:54:38 ) *
Już na samym początku czegoś nie rozumiem.
Chcesz otrzymać DWIE tablice to dlaczego w pętli tworzysz tylko jedną?

Wynik print_r, który napisałeś to chyba nie z tego kodu.
Jak byk widać że tworzy tablice o indeksach: indeks, wartość, indeks, wartość, index, wartość (wszystko = null)

Rozwiązanie:
Twórz DWIE tablice. Indeks zostaw pusty [] no a wartość to $k dla tablicy pierwszej, $v dla drugiej (i tak 3 razy).


Witam, tak popełniłem błąd tworząc tylko jedną pętle winksmiley.jpg Ale w skrypcie miałem poprawnie, poprostu jak tutaj pisałem to literówka, zresztą póżno było winksmiley.jpg A Twojego rozwiązania nie rozumiem bo jak zrobię to co Ty mówisz czyli $tablica[] = $k, to wyjdzie mi array(0 => Zawartosc K);

Ale kolega maviozo podał bardzo dobre rozwiązanie smile.gif

W każdym bądz razie dziękuje za odpowiedzi
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.