Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] problem z tablicami
M45t3r
post
Post #1





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 16.05.2005
Skąd: Lubaczów

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


Witam.
Mam problem z tablicami. konkretnie mam teraz tablicę wyglądającą tak:
  1. <?php
  2. $tablica= array(0=>'foo',1=>'bar'); 
  3. //lub
  4. $tablica= array('foo','bar'); //tu mi wszystko jedno, a jesli tak bedize latwiej to tym lepiej
  5. ?>

w chwili obecnej naturalnie $tablica[0] daje 'foo'.
Natomiast chcialbym "cos" zrobic z ta tablica, by
$tablica['foo'] dawala 'bar'
(czyli nieparzysty klucz, parzysta wartosc).
Jest w stanie ktos mi pomóc?
Z góry dzięki.
Go to the top of the page
+Quote Post
em1X
post
Post #2





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


mnie to zadziwia jak ludzie potrafią kombinować

1) czy funkcja ktora bedzie takie cos wykonywac cie zadowoli?

2) do czego dazysz? moze znajdziemy latwiejszy sposob, zamiast czarowania
Go to the top of the page
+Quote Post
phpion
post
Post #3





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




  1. <?php $tablica = array('foo' => 'bar'); ?>

bo rozumiem, ze do czegos takiego docelowo zdazasz
Go to the top of the page
+Quote Post
cadavre
post
Post #4





Grupa: Zarejestrowani
Postów: 472
Pomógł: 7
Dołączył: 7.12.2005
Skąd: Gliwice

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


Zwykły for do tego wystarczy, a do łączenia w nową tablicę wartości dla $i jako indeksu pętli: $nowa[] = array($tablica[i]=>$tablica[i+1]);

Pamiętaj o zwiększaniu $i o dwa a nie jeden.
Go to the top of the page
+Quote Post
M45t3r
post
Post #5





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 16.05.2005
Skąd: Lubaczów

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


@em1x -owszem, funkcja taka mnie zadowoli. Natomiast wytłumaczenie do czego dążę będzie trudne, bo to element większej klasy, a to dużo tłumaczenia....
@phpion.com - dokładnie taki efekt chcę uzyskać
@cadavre - czy mógłbyś podac przykładową implementację, gdyż jakoś nie jestem w stanie sobie poradzić z tym? żeby nie było, że chcę na tacy- próbuję tak:
  1. <?php
  2. output= array();
  3. for($i=0;$i>2;$i++) {
  4. $output[]=array($params[$i],$params[$i+1]);
  5. }
  6. print_r($output);
  7. ?>
Go to the top of the page
+Quote Post
cadavre
post
Post #6





Grupa: Zarejestrowani
Postów: 472
Pomógł: 7
Dołączył: 7.12.2005
Skąd: Gliwice

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


  1. <?php
  2.  
  3. $tablica = array('jeden','dwa','trzy','cztery','piec','szesc');
  4.  
  5. for ($i=0;count($tablica)>$i;$i+=2) {
  6. $output[] = array($tablica[$i]=>$tablica[$i+1]);
  7. }
  8.  
  9. print_r($output);
  10.  
  11. ?>


Dobrą rzeczą byłoby jeszcze sprawdzenia parzystości elementów w tablicy:
  1. <?php
  2.  
  3. $tablica = array('jeden','dwa','trzy','cztery','piec');
  4.  
  5. if (count($tablica)%2!=0) {
  6.  exit('nieparzysta liczba elementów tablicy!');
  7. }
  8.  
  9. ?>
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: 23.08.2025 - 04:47