![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 1.09.2002 Skąd: Kluczbork Ostrzeżenie: (0%) ![]() ![]() |
Czesc
Chcialbym uzyskac efekt dynamicznej zmiany nazwy zmiennej tak wyglada skrypt ktory zrobillem ale jak zapewne sie domyslacie - nie dziala [php:1:688dc51577]<?php $opcja1=10; $opcja2=20; $opcja3=30; $opcja4=40; $opcja5=50; $ilosc_opcji=5; for ($i=1;$i<=$ilosc_opcji;$i++) { echo '>>'.$opcja{$i}.'<<<BR>'; } ?>[/php:1:688dc51577] Oczywiscie w moim zmierzeniu w efekcie powinienem otrzymac na ekranie wynik w postaci wyswietlonych liczb >>10<< >>20<< >>30<< >>40<< >>50<< jednak problem w tym ze cos mi to polaczenie zmiennych [php:1:688dc51577]<?php $opcja{$i} ?>[/php:1:688dc51577] nie dziala braklo mi juz pomyslow na ich polaczenie Pozdrawiam Wojtek B |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 136 Pomógł: 0 Dołączył: 2.01.2004 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Rozważ użycie tablic, w tym przypadku będzie to dużo lepsze rozwiązanie.
[php:1:5f3a09bad5] <?php $opcja1=10; $opcja2=20; $opcja3=30; $opcja4=40; $opcja5=50; $ilosc_opcji=5; for ($i=1;$i<=$ilosc_opcji;$i++) { $nazwa_zmiennej="opcja$i"; echo '>>'.$$nazwa_zmiennej.'<<<BR>'; } ?> [/php:1:5f3a09bad5] lub [php:1:5f3a09bad5] <?php $opcja1=10; $opcja2=20; $opcja3=30; $opcja4=40; $opcja5=50; $ilosc_opcji=5; for ($i=1;$i<=$ilosc_opcji;$i++) { echo '>>'.${'opcja'.$i}.'<<<BR>'; } ?> [/php:1:5f3a09bad5] |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 0 Dołączył: 19.08.2003 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Lepsze są tablice:
[php:1:e365ac7e1e]<?php $opcja[] = 10; $opcja[] = 20; $opcja[] = 30; $opcja[] = 40; $opcja[] = 50; foreach( $opcja AS $key => $val ) { print( 'Klucz: '. $key .' // Wartość: '. $val .'<br>' ); } ?>[/php:1:e365ac7e1e] |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 602 Pomógł: 1 Dołączył: 3.04.2004 Skąd: Trójmiasto (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
zgadzam się że lepsze są tablice
[php:1:3f435ae268]<?php $opcja[] = 10; $opcja[] = 20; $opcja[] = 30; $opcja[] = 40; $opcja[] = 50; foreach($opcja as $liczba) { echo ">>$liczba<<<br>n"; // to n to zeby byl elegancki kod w źródle } ?> [/php:1:3f435ae268] jeżeli zależy ci na zmiennych zmiennych : [php:1:3f435ae268]<?php $opcja1=10; $opcja2=20; $opcja3=30; $opcja4=40; $opcja5=50; $ilosc_opcji=5; for ($i=1;$i<=$ilosc_opcji;$i++) { echo '>>'.${"opcja$i"}.'<<<BR>'; } ?>[/php:1:3f435ae268] A żeby pominąć podawanie zmiennej $ilosc_opcji : [php:1:3f435ae268]<?php $opcja1=10; $opcja2=20; $opcja3=30; $opcja4=40; $opcja5=50; for($a=0; $a>=255; $a++){ // EDIT : tak było błędnie: if(isset('opcja'.$a)) $ilosc_opcji++; if(isset(${"opcja$i"})) $ilosc_opcji++; //to jest ok } for ($i=1;$i<=$ilosc_opcji;$i++) { echo '>>'.${"opcja$i"}.'<<<BR>'; } ?>[/php:1:3f435ae268] |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 1.09.2002 Skąd: Kluczbork Ostrzeżenie: (0%) ![]() ![]() |
Dzieki Wam wszystkim, wykorzystalem zgodnie z Wasza rada tablice - jednym z moich bledow byl fakt przytoczenia zbyt krotkiego fragmentu kodu, a efektem bylo to ze praktycznie zadna z Waszych rad niedzialala. Dopiero po dluzszej analizie zauwazylem ze 'za duzo razy' uzylem tej samej nazwy zmiennej w skutek czego doprowadzilem poprzez petle do takiej jej zmiany ze nie pobierala danych z tablicy
[php:1:8dac57301b]<?php for ($i=0;$i<$ilosc_opcji;$i++) { >>$opcja<<=$opcja[$i]; $query="SELECT opcje FROM us_opcje WHERE id='>>$opcja<<';"; $result=mysql_query($query); $wynik=mysql_fetch_array($result); $opcja_nazwa=$wynik['opcje']; if ($i>0) {echo '; ';} echo $opcja_nazwa; } ?>[/php:1:8dac57301b] po zmianie zaznaczonych zmiennych na $id_opcja wszystko ruszylo jak trzeba. A wasze info na tamat zmiany zmiennej zapisalem wrecz sobie w notatniku bo zawsze mi to sprawia klopot i niewatpliwie wykorzystam szkoda ze nie moge wszystkim dac "pomogl" wiec dam je osobie ktora dostarczyla mi najwiecej "wartosciowych" dla mnie informacji czyli rogrogowi Pozdrawiam WojtekB |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 1.09.2002 Skąd: Kluczbork Ostrzeżenie: (0%) ![]() ![]() |
Cytat szkoda ze nie moge wszystkim dac "pomogl" wiec dam je osobie ktora dostarczyla mi najwiecej "wartosciowych" dla mnie informacji czyli rogrogowi
Pozdrawiam WojtekB A jednak moge - wiec daje wszystkim sprawiedliwie, mam nadzieje ze za to nie oberwe pzdr WojtekB |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 16:37 |