Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Zamiana zwykłej tablicy na tablice asocjacyjną
Jarod
post
Post #1





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Szukałem w manualu gotowej funkcji ale nie znalazłem takiej. Jedyne co mogłoby pomóc to array_combine() ale musiałbym tworzyć drugą tablice. O co mi chodzi.

Mam taką tablice:
  1. <?php
  2. $tablica = array('nazwa1', 'parametr1', 'nazwa2', 'parametr2');
  3. ?>


Chciałbym szybkim sposobem (wiem jak to zrobić ale wiem też, że da się lepiej) utworzyć tablicę, ktr będzie wyglądać tak:

  1. <?php
  2. $tablica = array('nazwa1'=>'parametr1', 'nazwa2'=>'parametr2');
  3. ?>


Możecie coś doradzić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kicok
post
Post #2





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Najprościej pętlą:
  1. <?php
  2. $tablica = array('nazwa1', 'parametr1', 'nazwa2', 'parametr2');
  3. $c = count($tablica);
  4.  
  5. for($i=0; $i<$c; $i+=2)
  6. {
  7. $tablica[$tablica[$i]] = $tablica[($i+1)];
  8. unset($tablica[$i]);
  9. unset($tablica[($i+1)]);
  10. }
  11. ?>



Jednak jeśli któraś z nazw (zamienianych na klucze tablicy) jest liczbą, to całość może się posypać. Lepiej będzie zrobić to na 2 tablicach:
  1. <?php
  2. $tablica = array('nazwa1', 'parametr1', 'nazwa2', 'parametr2');
  3. $c = count($tablica);
  4. $nowa_tablica;
  5.  
  6. for($i=0; $i<$c; $i+=2) {
  7. $nowa_tablica[$tablica[$i]] = $tablica[($i+1)];
  8. }
  9.  
  10. unset($tablica);
  11. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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: 11.10.2025 - 07:17