Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> pobieranie z tablicy, pobieranie w zaleznosci od jezyka
-yacol-
post
Post #1





Goście







Witam!
Mam maly problem, z ktorym nie potrafie sobie poradzic...
Mianowicie mam tablice:
$HEADERS_pl = array(
about => "Informacje o firmie",
services => "Usługi",
...
)
oraz

$HEADERS_en = array(
about => "About",
services => "Services",
...
)

i chce pobierac dane z tablicy w zaleznosci od parametru lang =pl albo =en i nie potrafie sobie z tym poradzic


jesli wstawie $HEADERS_en[$section] badz $HEADERS_pl[$section] to mi elegancko pobiera i wyswietla, ale ja chcialbym, zeby to en badz pl dopisywalo sie samo w zaleznosci od zmiennej $lang...

i nie potrafie :/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  1. <?php
  2.  
  3. echo ${'HEADERS_'.$lang}[$section];
  4.  
  5. ?>
Go to the top of the page
+Quote Post
-yacol-
post
Post #3





Goście







Wy to jestescie jednak ASY!!!

działa, dzieki wielkie...

Jeszcze tylko jedno pytanko jesli mozna: Kiedy i gdzie stosujemy nawiasy klamrowe {} i dlaczego tutaj tez je trzeba bylo uzyc?
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




w tym przypadku użyto {}, aby znaczek $ chwycił całą żądaną frazę. Po znaczku $ występuję nazwa zmiennej, a że my dopiero tworzymy tą nazwę, więc {}
Go to the top of the page
+Quote Post
-yacol-
post
Post #5





Goście







nie odchodzac zbytnio od tematu, czy moglibyscie mi powiedziec co oznacza zapis
<?=$SUBS[$sub]?"$SUBS[$sub]":"$HEADERS[$section]";?>

<?= ?> jest równowazne <? echo ?>
ta linijka ma pobierac dane z tablicy, ale nie bardzo lapie, co tu sie dzieje? po co jest ten ? w srodku i ":" ? (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




<?=ala ?> jest równowazne <? echo 'ala';?>

zapis:
warunek ? prawda : falsz

jest równoważny:
if (warunek)
prawda
else
falsz

widać ze krócej.
przyklad;
  1. <?php
  2.  
  3. $y = 2;
  4.  
  5. $x = ($y == 1 ? 2 : 3);
  6. echo $x;
  7. //jest równoważne
  8. if ($y == 1)
  9. $x = 2;
  10. else 
  11. $x = 3;
  12. echo $x;
  13.  
  14.  
  15. ?>
Go to the top of the page
+Quote Post
-yacol-
post
Post #7





Goście







Czyli w tym przypadku:
jesli istnieje $SUBS[$sub] to wyswietl $SUBS[$sub]
a jesli nie to wyswietl $HEADERS[$section]


?
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




teoretycznie tak (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
a dokładniej :
jeżeli istnieje i jego wartość jest rożna od 0 i ciągu pustego
Go to the top of the page
+Quote Post
-yacol-
post
Post #9





Goście







ale truje tylek... :/
sorki, ale zaczynam zabawe z php i nie mam sie kogo poradzic, a w kursach takich rzeczy nie moge znalzezc :/

teraz np. ta linijka
<?=$SUBS[$sub]?"$SUBS[$sub]":"$HEADERS[$section]";?>

wyswietla mi tekst Array[wartosc_zmiennej_sub] zamiast tego co jest w tabeli do danej zmiennej $sub podpiete
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




zadajesz duzo pytan moze więc czas się zarejestrować? Ale jak wolisz.

zamień na:
  1. <?=$SUBS[$sub]?$SUBS[$sub]:$HEADERS[$section];?>

"" w tym przypadku są zbędne
Go to the top of the page
+Quote Post
yacol
post
Post #11





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 27.07.2005

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


wlasne to przed chwilka uczynilem tj. zarejestrowalem sie...

ale wracajac do tematu: jestes dla mnie geniuszem... teraz elegancko dziala...

czemu taki cudzyslow potrafi tak namieszac? kiedy go sie stosuje?
Go to the top of the page
+Quote Post
nospor
post
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
jestes dla mnie geniuszem.
Nie przesadzajmy (ale plusy zarabiasz (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) )

co do cudzusłowa. Chciales wyswietlic zmienną i nie ma sensu jej brać w cudzyslów. Tym bardziej gdy to skomplikowana zmienna. Jak bys chcial nadal ją w cudzyslowie to trzeba by tak: "{$SUBS[$sub]}"
Za dlugo by gadać. Poczytaj se najpierw o stringach w php, sposobie ich łączenia, o różnicach pomiędzy pojedynczym(') a podwojnym(") cudzyslowiem i dopiero potem w razie probemów wal na forum.
najpierw trzeba poznac podstawy, by nie potrzebnych pytan nie zadawac. Zapoznaj się też z regulaminem i strukturą forum, by wiedzieć gdzie i jak zadawać pytania.

pozdro
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: 24.08.2025 - 06:11