Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak przekazać zmienną jako klucz tablicy
marcwars
post
Post #1





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 14.02.2011
Skąd: Wawa

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


Nie działa mi taki skrypt:

skrypt.php
  1. <?php
  2. $zmienna = $var;
  3. echo $var; // pokazuje napis "Biedronki są w kropki"
  4. include '2plik.php';
  5. if (isset($tablica[$var])
  6. {
  7. print $tablica[$var]; //nie wyświetla napisu z pliku 2plik.php (Ela ma kota)
  8. }
  9. else
  10. print $inna_zmienna; //tą zmienną wyświetla
  11. ?>


2plik.php
  1. <?php
  2. $tablica ["Biedronki są w kropki"] = "Ela ma kota";
  3. ?>


I mam problem, bo napis się pokazuje (Biedronki są w kropki) a napisu jako klucza do tablicy nie mogę przekazać, pytanie dlaczego?
Co więcej zmienną $var mogę wywołać wszędzie dalej w pliku tak samo? Więc nie jest to kwestia globalizacji zmiennej....

Będę wdzięczny za wsparcie.

Ten post edytował marcwars 17.12.2011, 00:32:03
Go to the top of the page
+Quote Post
cycofiasz
post
Post #2





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

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


Widocznie pliki mają różne kodowanie.
Go to the top of the page
+Quote Post
marcwars
post
Post #3





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 14.02.2011
Skąd: Wawa

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


Na rozwiązanie już sam wpadłem, ale wciąż nie mam pojęcia czy to związane z kodowaniem zmiennych, raczej chyba nie (niepewnym, bom nie fachowiec, dopiero się uczę) obie zmienne są typu string i specjalnie użyłem bez polskich znaków.
Tak naprawdę był to fragment większego pliku (z innego postu: http://forum.php.pl/index.php?showtopic=189561&hl=), który postanowiłem uprościć, aby był bardziej czytelny.

W istocie wyłapanie zmiennej z tablicy zadziałało, kiedy zamiast zmiennej $var, dałem jej źródło, czyli zmienną $_GET['x'].
Część kodu, której nie podałem wyglądała tak:
  1. if ($_GET['x']==true){
  2. foreach($strony -> element as $element){
  3. $nazwa_no = remove_pl($element -> nazwa, utf8);
  4. $nazwa_no = str_replace(' ', '-', $nazwa_no);
  5. $nazwa_no = str_replace('.', '', $nazwa_no);
  6. if($_GET['x']==$nazwa_no){
  7. $title .=$oddziel.$element -> title;
  8. $zdj=$element -> zdj;
  9. $strona=$element -> str;
  10. $nazwa=$element -> nazwa;
  11. }else{
  12. foreach($element -> el1 as $el1){
  13. $nazwa_no_el1 = remove_pl($el1 -> nazwa, utf8);
  14. $nazwa_no_el1 = str_replace(' ', '-', $nazwa_no_el1);
  15. $nazwa_no_el1 = str_replace('.', '', $nazwa_no_el1);
  16. if($_GET['str']==$nazwa_no_el1){
  17. $title .=$oddziel.$el1 -> title;
  18. $zdj=$el1 -> zdj;
  19. $strona=$el1 -> str;
  20. $nazwa=$el1 -> nazwa;
  21. include ('2plik.php');
  22. echo $tablica[($_GET['x'])];
  23. .......
  24.  


Natomiast 2plik.php wygląda następująco:

  1. <?php
  2. $tabklucz = array(
  3. 'coś tam coś tam' => 'abc abc'
  4. )
  5. ?>


Dla wyjaśnienia dodam, że funkcja remove_pl po prostu zmienia polskie znaki na łacińskie.

Dziękuję za odpowiedź, bo cycofiasz jesteś jedynym odważnym, chociaż wiele osób przeglądało oba posty.

12 godzin ślęczenia:(
Temat można uznać za zamknięty (IMG:style_emoticons/default/smile.gif)
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: 9.01.2026 - 15:01