• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zmienna w zmiennej w PHP?

Object Storage Arubacloud
0 głosów
356 wizyt
pytanie zadane 16 września 2015 w PHP przez DL TD Nałogowiec (36,710 p.)

Mam zmienną $i, która ma wartość np. 18. Chcę sprawdzić czy istnieje zmienna $_POST o nazwie a18.

Wynik końcowy ma wyglądać tak: $_POST['a18']. Chciałem zapisać to w taki sposób:

$_POST['a'.$i];

Oczywiście bardzo łatwo się domyślić, że to nie działa frown

Jak to mogę jeszcze zapisać? Jest na to lepszy sposób?

3 odpowiedzi

+2 głosów
odpowiedź 16 września 2015 przez Arkadiusz Waluk Ekspert (287,950 p.)

To musisz mieć coś źle w innym miejscu... Sposób taki jak podałeś jest poprawny, co więcej w tablicy $_POST to raczej nie jest zmienna a18, a element tej tablicy - nazywanie tego zmienną w zmiennej jest raczej błędne.

Zrób sobie szybki teścik. Wklej do pustego pliku taki prosty kod:

<?php
$a['a1']=1;
$a['a2']=2;
$a['a3']=3;
for($i=1;$i<=3;$i++)
{
	echo $a['a'.$i].' ';
}
?>

I zobacz sobie jaki wyrzuca on wynik na ekran. U mnie jest

1 2 3

Wnioski myślę, że wyciągniesz z tego przykładu sam ;)

komentarz 16 września 2015 przez efiku Szeryf (75,160 p.)
edycja 16 września 2015 przez efiku

po tablicach skaczemy za pomocą foreach ;)

To co robi @COLD IC3  jest bez sensu, ale skoro tak bardzo to : 

#1 -> https://3v4l.org/lF7pF

#2 -> https://3v4l.org/D7PrO

komentarz 16 września 2015 przez event15 Szeryf (93,790 p.)

Yyy xD 

// I just killed one unicorn. [*]

Ale czemu? :D 

komentarz 16 września 2015 przez Arkadiusz Waluk Ekspert (287,950 p.)
Jasne efik że do tablic foreach ale to był tylko prościutki przykład, dlatego dałem byle jaką pętle aby tylko pokazać, że tak jak robi powinno działać ;)
komentarz 16 września 2015 przez efiku Szeryf (75,160 p.)

@event15  bo mam wrażenie, że wszystko jest sprawdzane tutaj na kluczach, a to co ma być spradzane jest zmienną, a pomijana jest wartość tego klucza. Nic nie wiemy też, dlaczego kolega wyżej akurat jest zmuszony coś takiego stosować. Może gdyby coś więcej powiedział o swoim problemie znaleźlibyśmy lepszy sposób :) bo może to być i nawet  name="costam[]"  w inpucie :)

komentarz 16 września 2015 przez event15 Szeryf (93,790 p.)
Pytam o tego unicorna bo:
http://www.urbandictionary.com/define.php?term=Killing+the+Unicorn

I tak jakoś mi dziwnie zabrzmiało w kodzie :D
komentarz 17 września 2015 przez DL TD Nałogowiec (36,710 p.)

Już prostuję.

Mam podaną od użytkownika liczbę np. 18. Moja aplikacja tworzy 18 input'ów o type number. Każda z nich ma name o jeden większy, aż do 18 np. a1, a2, a3, a4 ... a18. Chcę zrobić proste obliczenia na tych liczbach. Wieczorem przetestuję jeszcze raz to co podał @Arkadiusz Waluk

To co robi @COLD IC3  jest bez sensu, ale skoro tak bardzo to[...]

Jak mogę to zrobić inaczej?

komentarz 17 września 2015 przez efiku Szeryf (75,160 p.)
no i zgadłem ;)

zrób dla inputów : input type="number" name="a[]"  dla wszystkich

i przeslij to w formularzu , a po stronie skryptu zrob sobie var_dump($_POST['a'] ) i zobaczysz coś ciekawego ;-)

pozniej jakieś array_map itd..
komentarz 19 września 2015 przez DL TD Nałogowiec (36,710 p.)
Super, dzięki!
0 głosów
odpowiedź 16 września 2015 przez Mavimix Dyskutant (8,390 p.)
Może zmienną $_POST zapisać jako inna zmienna np.:
 

$zmienna = $_POST['a']

if($zmienna = 18)...
komentarz 17 września 2015 przez DL TD Nałogowiec (36,710 p.)
Tak, tylko, że ja mam tych postów np. 18 max 99.
0 głosów
odpowiedź 16 września 2015 przez event15 Szeryf (93,790 p.)
A mnie interesuje raczej kod. Możliwe, że da się to zupełnie inaczej zrobić, a jedynie ograniczasz się do trickowego rozwiązania?
komentarz 17 września 2015 przez DL TD Nałogowiec (36,710 p.)
Rozumiem, podeślę program wieczorkiem.

Podobne pytania

0 głosów
0 odpowiedzi 173 wizyt
pytanie zadane 18 kwietnia 2019 w JavaScript przez kamiz Obywatel (1,010 p.)
0 głosów
1 odpowiedź 1,208 wizyt
pytanie zadane 12 stycznia 2018 w PHP przez kevin Mądrala (5,010 p.)
0 głosów
1 odpowiedź 1,329 wizyt
pytanie zadane 17 lutego 2020 w PHP przez Młody programista Obywatel (1,200 p.)

92,555 zapytań

141,402 odpowiedzi

319,540 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...