Miért ezt írja ki a kód?
eredmény: 224
100
101
223
de miért?
<?php
$szam1=123;
$szam2=100;
$szam3=$szam1+=$szam2; // ez összeadja a 2 számot, ezt értem de a többit nem
print(++$szam1)."<br>";
print($szam2++)."<br>";
print($szam2)."<br>";
print($szam3);
?>
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
$szam3=$szam1+=$szam2
A szam3 egyenlő a kettő összegével, a szam1 egyenlő a szam1 és a szam2 összegével
print(++$szam1)."<br>";
Növeljük eggyel a szam1 értékét (123+1) és kiírjuk
print($szam2++)."<br>";
növeljük eggyel a szam2 értékét, de csak a kiiratás után
print($szam2)."<br>";
Kiírjuk mégegyszer a szam2 értékét, hogy meggyőződjünk, hogy növelve lett
print($szam3);
Kiíratjuk a szam3-t (amit korábban számoltuk ki)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
A gond vagyis a probléma megoldása az
hogy valamilyen okból kifolyolag
amikor a print(++$szam1)."<br>"; irja ki
akkor a $szam1 et hozzá adja a $szam2-hez. Pedig nincs erre példa hogy ezt kéne tegye
csak ugy össze adja a két változót
a baj ez. de hogy miért csinálja azt nem tudom
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
két váltózó lehet közvetlenül egymás után??
mert lehet hogy az a gond
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
jha és ha igy irod
<?php
$szam1=123;
print(++$szam1)."<br>";
$szam2=100;
$szam3=$szam1+=$szam2; // ez összeadja a 2 számot, ezt értem de a többit nem
// a print(++$szam1)."<br>"; - ezt direkt a $szam1 változó után tettem, igy nem keveredtek össze, mert szerintem ez volt a probléma hogy két változó volt egymás után
print($szam2++)."<br>";
print($szam2)."<br>";
print($szam3);
?>
most már jól irja ki, nem 224 et ir hanem 124-et
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
Nem értem miért probléma, hogy 224-et ír ki. A kérdező mindent jól írt, ellenőriztem.
"amikor a print(++$szam1)."<br>"; irja ki
akkor a $szam1 et hozzá adja a $szam2-hez. Pedig nincs erre példa hogy ezt kéne tegye "
$szam3=$szam1+=$szam2
Magyarázat: a szam3 egyenlő lesz a szam1+szam2-vel, de a szam1 a +=szam2 miatt szam1 + szam2 így:
szam1: 223
szam2: 100
szam3: 223
a kiíratásnál print(++$szam1) a szam1-et a 223-t növeltük eggyel így lett 224.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!