Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Zmiana nazwy zmiennej
vbig
post 10.12.2010, 16:52:20
Post #1





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 9.06.2010

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


Witam. Nie wiem specjalnie jak opisać mój problem, tak więc przedstawię go na przykładzie.

Mam zmienne
$CostamX i $CostamY
do których przypisane są liczby.
Następnie w formularzu z listy wybieram np. Costam.
Costam z formularza sprowadzam do zmiennej $Nazwa ($NAZWA=floatval($_POST['LISTA_1']);)

I tutaj mam pytanie. Jak zrobić aby do zmiennej NAZWA dodać na końcu X bądź Y? (Tak, aby w efekcie powstała zmienna $NAZWAX, czyli po podstawieniu $COSTAMX). Chodzi mi o samo dodanie tej literki na koniec. Proszę o pomoc :)

Ten post edytował vbig 10.12.2010, 16:53:01
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
flashdev
post 10.12.2010, 16:59:38
Post #2





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


  1. $a = 5;
  2. $a = 5 . 'X';


--------------------
Go to the top of the page
+Quote Post
CuteOne
post 10.12.2010, 17:02:58
Post #3





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


W OOP robi się to w ten sposób:

  1. class aaa {
  2.  
  3. public function set($key, $value) {
  4. $this->$key = $value;
  5. }
  6. }
  7. $a = new aaa;
  8. $a->set('zmienna',500);
  9. echo $a->zmienna;


ps. możesz też użyć eval();

Ten post edytował CuteOne 10.12.2010, 17:03:07
Go to the top of the page
+Quote Post
vbig
post 10.12.2010, 17:20:07
Post #4





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 9.06.2010

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


@CuteOne: Wybacz ale widząc kod nie wiem czy zrozumiałeś pytanie (nie mówie tego obraźliwie, sam bym go nie zrozumiał, a przeglądajac kod który dałeś to nie wiem specjalnie czy jest on mi w stanie pomóc, ale mogę się mylić...)
@Flashdev: Niestety nie działa. Pokażę kod, bo chyba troche nagmatwałem tongue.gif

  1. <?php
  2. $JedenX = 10;
  3. $DwaX = 15;
  4. $TrzyX = 20;
  5. $JedenY = 3;
  6. $DwaY = 6;
  7. $TrzyY = 9;
  8.  
  9. if (isset($_POST['kod'])) {
  10. $wsp_a=floatval($_POST['a']);
  11. $wsp_b=floatval($_POST['b']);
  12. echo "Współrzędne X i Y:" . "<br />" . "<b>";
  13. print_r($wsp_a);
  14. echo "</b>" . "<br />" . "Współrzędne X i Y:" . "<br />" . "<b>";
  15. print_r($wsp_b);
  16. echo "</b>" . "<hr />";
  17. echo "Kod:" . " <b>";
  18. $kod = $wsp_a + $wsp_b;
  19. echo $kod;
  20. echo "</b>";
  21. } else {
  22. echo "Wybierz.";
  23. }
  24. ?>
  25. <form action="<?php echo ($_SERVER['SCRIPT_NAME']); ?>" method="POST">
  26. Wybierz współrzędne:<br />
  27. Współrzędna X<select name="a">
  28. <option>Jeden</option>
  29. <option>Dwa</option>
  30. <option>Trzy</option>
  31. </select>
  32. Współrzędne Y <select name="b">
  33. <option>Jeden</option>
  34. <option>Dwa</option>
  35. <option>Trzy</option><br /><br />
  36. <input type="submit" name="kod" value="Oblicz!" />
  37. </form>


Zmiennych jest dużo więcej, dlatego chciałbym, aby współrzędna wybrana w formularzu była zwyczajnie zamieniana na nazwę z formularza z X'em na końcu...

Ten post edytował vbig 10.12.2010, 17:20:33
Go to the top of the page
+Quote Post
Crozin
post 10.12.2010, 17:33:21
Post #5





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


@CuteOne: Za taki kod powinno się obcinać kolejne palce u stóp.
@vbig: Jeżeli potrzebujesz mieć dynamiczną nazwę zmiennej - na 99.9% coś zrypałeś, bo takich sytuacji być nie powinno. Powinieneś użyć tablicy:
  1. <?php
  2.  
  3. $coordinates = array(
  4. 1 => array('x' => 10, 'y' => 3),
  5. 2 => array('x' => 15, 'y' => 6),
  6. 3 => array('x' => 20, 'y' => 9)
  7. );
  8.  
  9. if ($_POST) {
  10. $x = $coordinates[(int) $_POST['x']]['x'];
  11. $y = $coordinates[(int) $_POST['y']]['y'];
  12.  
  13. sprintf('Współrzędne to %dx%d', $x, $y);
  14. }
  15.  
  16. ?>
  17. <form ... >
  18. <select name="x">
  19. <option value="1">Jeden</option>
  20. ...
  21. </select>
  22. ...
Oczywiście powinieneś dodać sprawdzanie czy wartość indeksy "x", "y" z tablicy _POST mają prawidłowe wartości i czy w ogóle istnieją.

Ten post edytował Crozin 10.12.2010, 17:34:12
Go to the top of the page
+Quote Post
vbig
post 10.12.2010, 19:36:47
Post #6





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 9.06.2010

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


wszystko działa smile.gif
Dziękuję za pomoc i można zamknąć biggrin.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 14:32