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

Łączenie zmiennych PHP

0 głosów
1,109 wizyt
pytanie zadane 28 lutego 2016 w PHP przez LCPGM Obywatel (1,550 p.)
Cześć, mam pytanie, są to podstawy, więc proszę o wyrozumiałość. Dokładniej mam pętlę for (i=1;i>0;i++), oraz zmienną $logo. Chciałbym aby w pętli for mogły powstać zmienne typu logo1, logo2, logo3..., próbowałem łączenia kropkami, definiwania nowych zmiennych łączące te, ale niestety nie działa :/ Wiecie jak to zrobić ? ;p

3 odpowiedzi

+1 głos
odpowiedź 28 lutego 2016 przez Arkadiusz Waluk Ekspert (290,910 p.)
<?php
for ($i=1;$i>0;$i++) {
    echo 'logo'.$i;
}

Proponuję przerobić podstawy podstaw PHP... Do łączenia ciągów w PHP (konkatenacji) służy kropka.

Miej tylko świadomość że to stworzy nieskończoną pętle bo $i zawsze będzie większe od 0.

Chyba że coś źle zrozumiałem to popraw mnie o co chodziło ;)

komentarz 28 lutego 2016 przez LCPGM Obywatel (1,550 p.)
Zrobiłem, błąd w poscie. Miałem na myśli i--
komentarz 28 lutego 2016 przez LCPGM Obywatel (1,550 p.)

Dobra, coś tam ogarnąłem z tymi tablicami, potem spróbuję zrobić, aby w tablicach wszystko wypisywało się samo, lecz teraz mam taki problem: "Notice:undefined offset C:\xampp\htdocs\xxx\index.php on line122. Linia 122, to ta na dole z echem :)
 

$loga = array(
		$clogo1,
		$clogo2,
		$clogo3,
		$clogo4,
		$clogo5,
		$clogo6,
		$clogo7,
		$clogo8,
		$clogo9,
		$clogo10,
		$clogo11,
		$clogo12,
		$clogo13);
		
		$nicki = array(
		$cnick1,
		$cnick2,
		$cnick3,
		$cnick4,
		$cnick5,
		$cnick6,
		$cnick7,
		$cnick8,
		$cnick9,
		$cnick10,
		$cnick11,
		$cnick12,
		$cnick13);
		
		$mess = array(
		$cmassage1,
		$cmassage2,
		$cmassage3,
		$cmassage4,
		$cmassage5,
		$cmassage6,
		$cmassage7,
		$cmassage8,
		$cmassage9,
		$cmassage10,
		$cmassage11,
		$cmassage12,
		$cmassage13);
	
		if(isset($_SESSION['steamid'])) {
			for($i=13; $i>0; $i--)
			{
			echo '<div class="massage2"><div class="msgimg"><img src="'.$loga[$i].'"width="25px" height="25px"></div><div class="msgnick">'.$nicki[$i].':</div><div class="msg">&nbsp;'.$mess[$i].'</div></div>';
			}
		}

 

0 głosów
odpowiedź 28 lutego 2016 przez LCPGM Obywatel (1,550 p.)
Dobra, zrobiłem to, tak, że zdefiniowałem wcześniej zmienną, $logo = '$'.'logo'.$i; , jednak, obrazek się nie pokazuje, mimo, że w zbadaj element pokazuje, $logo1, jednak, nie wiem czemu PHP nie czyta tej zmiennej
1
komentarz 28 lutego 2016 przez Arkadiusz Waluk Ekspert (290,910 p.)
A, to może ty próbujesz stworzyć nazwy zmiennych $logo1, $logo2, $logo3 itd. i później coś na nich wykonać? Dobrze teraz myślę? Bo najpierw w pierwszej odpowiedzi zrozumiałem że próbujesz wypisać tekst z kolejnymi numerami a tu chodzi o zmienne chyba?
komentarz 28 lutego 2016 przez LCPGM Obywatel (1,550 p.)
Tak, próbuje stworzyć nazwy zmiennych :)
komentarz 28 lutego 2016 przez Bartłomiej Mirek Bywalec (2,290 p.)
Kiedy przypisujesz do zmiennej $logo wartość '$'.'logo'.$i to tak na prawdę przypisujesz do niej TEKST. To, że po zbadaniu elementu wyświetla Ci się tekst potwierdza to w 100%. Rozwiązaniem Twojego problemu będzie użycie tablicy w której będziesz trzymał kolejne wartości.
komentarz 28 lutego 2016 przez LCPGM Obywatel (1,550 p.)
Dobra, spróbuje i  napiszę, jak wyszło dzięki :)
komentarz 28 lutego 2016 przez Arkadiusz Waluk Ekspert (290,910 p.)
A słyszałeś o tablicach? Ich powinieneś użyć, a nie próbować tworzyć zmienne, bo tak jak robisz się nie da. Poczytaj o tablicach jak mówiłem.

EDIT: Ok, już Bartłomiej mnie wyprzedził ;)
komentarz 28 lutego 2016 przez LCPGM Obywatel (1,550 p.)

Okay, poczytałem, ale trochę nie rozumiem ;) Mam zrobić tablicę trzymające dane loga? 

 

$loga = array('logo1', 'logo2', 'logo3', 'logo4'...);

A potem wypisywać je przez 

for ($i=1;$i>0;$i--) 

{
    echo $loga[$i];

}

Narazie to tak rozumiem, a bardziej zależało mi na czymś bardziej zautomatyzowanym, gdyż elementów w tabeli może być dużo ;)

0 głosów
odpowiedź 28 lutego 2016 przez Comandeer Guru (607,290 p.)

Jest jeszcze coś takiego, jak zmienne zmiennych:

$nazwa = 'logo1;

$$nazwa = 'obrazek';

echo $logo1; // obrazek

Inna rzecz, że to jest de facto hack, a poprawnym rozwiązaniem problemu są tutaj tablice.

komentarz 28 lutego 2016 przez LCPGM Obywatel (1,550 p.)
Na razie tablicę ogarnę :)

Podobne pytania

0 głosów
2 odpowiedzi 1,167 wizyt
pytanie zadane 6 lipca 2016 w PHP przez Radekol Bywalec (2,880 p.)
0 głosów
3 odpowiedzi 804 wizyt
pytanie zadane 3 maja 2016 w C i C++ przez L33TT12 Gaduła (3,950 p.)
0 głosów
1 odpowiedź 880 wizyt
pytanie zadane 22 czerwca 2016 w PHP przez Kiran Nowicjusz (240 p.)

93,604 zapytań

142,528 odpowiedzi

322,995 komentarzy

63,090 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

Kursy INF.02 i INF.03
...