Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Tablice
Forum PHP.pl > Forum > Przedszkole
kayy
Pogubiłem się z leciutka i nie wiem co zrobić... mam taki kod:

  1. <?php
  2.     if($i%$lin)
  3.            {
  4.         
  5.  
  6.  if($tab[$i] == 4)
  7. {
  8. $pa[$i] = "hihi";
  9.  
  10. }
  11.  
  12.             }
  13.                   else
  14.  
  15. {
  16.  
  17. ...
  18.  
  19. }
  20. ?>



I chodzi o to, że tam gdzie jest
Kod
if($tab[$i] == 4)


Dać dużo takich zależności, żeby się zmieniała tablica $pa[$i] na jakąś wartość. Problem jest w tym, że po tym jest else i nie mogę narobić dużo ifów (10 konkretnie mi trzeba), więc wpadłem na pomysł aby stworzyć dwie tablice: jedna od 1 do 10 a druga od 1 do 10 z tym co ma zamienić poszczególna cyferka:

  1. <?php
  2. $a = array(1, 2,3,4,5,6,7,8,9,10);
  3. $b = array("als","fa","erw","ewra","hfs","oyi","jbvcx","ff","aa","df");
  4. ?>









 Jak stworzyć zależność: Jeżeli $tab[$i] == jedna z wpisów $a wtedy $pa[$i] = ten wpis z tablicy $b?
Foxx
Cytat
Jeżeli $tab[$i] == jedna z wpisów $a wtedy $pa[$i] = ten wpis z tablicy $b

  1. <?php
  2. $pa[$i] = $b[$tab[$i]];
  3. ?>


Tablica $a jest zbędna chyba, że jest istotną rzeczą test obecności wartości $tab[$i] w tablicy $a, wtedy trzeba objąć to co napisałem ifem, który to sprawdzi a $a będzie wtedy potrzebna.
kayy
Ok, jeżeli takie rozwiązanie to $a jest nieistotna, tylko teraz jak zrobić, by sprawdzało, czy w ogóle $tab[$i] to jedna z cyferek?
Foxx
Zależy jakie są w ogóle możliwe wartości $tab[$i].
Jeżeli może być tylko intem albo pusta to proponuję empty()" title="Zobacz w manualu PHP" target="_manual albo isset()" title="Zobacz w manualu PHP" target="_manual.
Jeżeli może być pusta, intem albo stringiem to raczej is_int()" title="Zobacz w manualu PHP" target="_manual.
Jeżeli musi być intem z jakiejś konkretnej puli to tablica $a może się jednak przydać.
kefirek
a cos takiego

  1. <?php
  2. $a = array(1 => 'test', 2 => 'foradsa', 3 => 'dsadas', 4 => 'sdsadsa', 5 => 'fdfdsf', 6 => 'judsa');
  3. echo $a['4'];
  4. ?>


albo takie cos
  1. <?php
  2. $pa = array();
  3. $b = array("als","fa","erw","ewra","hfs","oyi","jbvcx","ff","aa","df");
  4. $l=0;
  5. foreach($b AS $wynik){
  6. $l++;
  7. if ($l ==4) { $pa[]=$wynik}  
  8. }
  9. ?>
kayy
Cytat(Foxx @ 5.02.2009, 16:43:12 ) *
Zależy jakie są w ogóle możliwe wartości $tab[$i].
Jeżeli może być tylko intem albo pusta to proponuję empty()" title="Zobacz w manualu PHP" target="_manual albo isset()" title="Zobacz w manualu PHP" target="_manual.
Jeżeli może być pusta, intem albo stringiem to raczej is_int()" title="Zobacz w manualu PHP" target="_manual.
Jeżeli musi być intem z jakiejś konkretnej puli to tablica $a może się jednak przydać.

$tab[$i] to może być zarówno 2039490384 jak i 1, a ja potrzebuje wykonywania akcji jak konkretnie jest to jakaś cyfra (od 1 do 10)

Cytat(kefirek @ 5.02.2009, 16:46:01 ) *
a cos takiego

  1. <?php
  2. $a = array(1 => 'test', 2 => 'foradsa', 3 => 'dsadas', 4 => 'sdsadsa', 5 => 'fdfdsf', 6 => 'judsa');
  3. echo $a['4'];
  4. ?>


albo takie cos
  1. <?php
  2. $pa = array();
  3. $b = array(&#092;"als\",\"fa\",\"erw\",\"ewra\",\"hfs\",\"oyi\",\"jbvcx\",\"ff\",\"aa\",\"df\");
  4. $l=0;
  5. foreach($b AS $wynik){
  6. $l++;
  7. if ($l ==4) { $pa[]=$wynik}  
  8. }
  9. ?>

Za bardzo tego nie kapuje  dry.gif
Foxx
Jeżeli to ma być cyfra z zakresu 1 - 10 to obejmij to warunkiem:
  1. <?php
  2. if($tab[$i] >= 1 && $tab[$i] <= 10){
  3.   $pa[$i] = $b[$tab[$i]];
  4. }
  5. ?>
kayy
Kurczę, coś nie działa ;/




Działanie ma być podobne do tego:
  1. <?php
  2. if($tab[$i] == 4)
  3. {
  4. $pa[$i] = "mmmm,";
  5.  
  6. }
  7. ?>



Tylko, że od razu załatwiam wszystkie tak naprawdę 8 możliwości (pisałem 10 bo mi się pokićkało, oczywiście zmieniłem w kodzie tym co dałeś, jak ma być)
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.