Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] problem z tablicami
Forum PHP.pl > Forum > PHP
M45t3r
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.
em1X
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
phpion
  1. <?php $tablica = array('foo' => 'bar'); ?>

bo rozumiem, ze do czegos takiego docelowo zdazasz
cadavre
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.
M45t3r
@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. ?>
cadavre
  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. ?>
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.