Premiär! Fyndchans i SweClockers Månadens Drop

Hjälp till en PHP nybörjare.

Permalänk
Medlem

Hjälp till en PHP nybörjare.

Jag försöker lära mig php och vill förstå hur man skriver ner "execution result" dvs html kod av följande PHP kod.

<?php
$ab = 0;
$xy = 1;
$count = 0;
echo "<table>";
while ($count < 3) {
echo "<tr>";
$count++;
echo "<td>" . $ab . "</td><td>" . $xy . "</td>";
$ab += $xy;
$xy += $ab;
echo "</tr>";
}
echo "</table>";
?>

Tack på förhand

Visa signatur

Ryzen 7 2700 @ 4.0Ghz, X470 Taichi, 16gb ram @ 3200 mhz, GTS V8 Cpu Cooler, Gigabyte 5700XT.

Permalänk
Medlem
Skrivet av Zargoz:

Jag försöker lära mig php och vill förstå hur man skriver ner "execution result" dvs html kod av följande PHP kod.

<?php
$ab = 0;
$xy = 1;
$count = 0;
echo "<table>";
while ($count < 3) {
echo "<tr>";
$count++;
echo "<td>" . $ab . "</td><td>" . $xy . "</td>";
$ab += $xy;
$xy += $ab;
echo "</tr>";
}
echo "</table>";
?>

Tack på förhand

Första använd kod taggar. Vad menar du med skriver ned?

Visa signatur

Arch - Makepkg, not war -||- Gigabyte X570 Aorus Master -||- GSkill 64GiB DDR4 14-14-15-35-1T 3600Mhz -||- AMD 5900x-||- Gigabyte RX6900XT -||- 2x Adata XPG sx8200 Pro 1TB -||- EVGA G2 750W -||- Corsair 570x -||- O2+ODAC-||- Sennheiser HD-650 -|| Boycott EA,2K,Activision,Ubisoft,WB,EGS
Arch Linux, one hell of a distribution.

Permalänk
Medlem

@Commander:

Hej, ursäkta om jag är otydlig men såhär står det: Considering the php code, write down the execution result, i.e. the HTML code, of the following PHP code.

Visa signatur

Ryzen 7 2700 @ 4.0Ghz, X470 Taichi, 16gb ram @ 3200 mhz, GTS V8 Cpu Cooler, Gigabyte 5700XT.

Permalänk
Medlem
Skrivet av Zargoz:

@Commander:

Hej, ursäkta om jag är otydlig men såhär står det: Considering the php code, write down the execution result, i.e. the HTML code, of the following PHP code.

Well läs på vad funktionerna gör.
http://php.net/manual/en/control-structures.while.php

Kort;
While är en iterator som följer en condition.
$ab, $xy, $count är variabler.
$variabel++ inkrementerar alltså adderar med 1, är en förkorting på += 1 (0++ blir 1, 1++ blir 2 osv)
+= summerar
= anger värde

Om vi säger att $variabel1 = 1 och $variabel2 = 2
$variabel1 += $variabel2
Medför att $variabel1 blir 3

$variabel1 = $variabel2
Medför att $variabel1 blir 2

Visa signatur

Arch - Makepkg, not war -||- Gigabyte X570 Aorus Master -||- GSkill 64GiB DDR4 14-14-15-35-1T 3600Mhz -||- AMD 5900x-||- Gigabyte RX6900XT -||- 2x Adata XPG sx8200 Pro 1TB -||- EVGA G2 750W -||- Corsair 570x -||- O2+ODAC-||- Sennheiser HD-650 -|| Boycott EA,2K,Activision,Ubisoft,WB,EGS
Arch Linux, one hell of a distribution.

Permalänk
Tangentbordskonnässör

<?php $ab = 0; $xy = 1; $count = 0; echo "<table>"; while ($count < 3) { // Medan $count är mindre än 3 skriv ut koden nedan. echo "<tr>"; $count++; // +1 på $count echo "<td>" . $ab . "</td><td>" . $xy . "</td>"; // Skriver ut $ab och $xy variablerna (0 och 1 första vändan) $ab += $xy; // ab = ab + xy $xy += $ab; // xy = xy + ab echo "</tr>"; } echo "</table>"; ?>

Hoppas det underlättar

Permalänk
Medlem

Tack så mycket grabbar. ska se om jag förstår det hela

Visa signatur

Ryzen 7 2700 @ 4.0Ghz, X470 Taichi, 16gb ram @ 3200 mhz, GTS V8 Cpu Cooler, Gigabyte 5700XT.

Permalänk
Medlem

@Commander:
Hej. Jag fattade till slut vad det menas. Man skulle bara få resultat av php koden som man skulle se i html. Så här:

01
12
35

Nu ska jag bara komma fram till varför man får de nummer.

Visa signatur

Ryzen 7 2700 @ 4.0Ghz, X470 Taichi, 16gb ram @ 3200 mhz, GTS V8 Cpu Cooler, Gigabyte 5700XT.

Permalänk
Medlem
Skrivet av Zargoz:

@Commander:
Hej. Jag fattade till slut vad det menas. Man skulle bara få resultat av php koden som man skulle se i html. Så här:

01
12
35

Nu ska jag bara komma fram till varför man får de nummer.

echo "<td>" . $ab . "</td><td>" . $xy . "</td>"; $ab += $xy; // ab = ab + xy $xy += $ab; // xy = xy + ab echo "</tr>";

ab = 0
xy = 1
Iteration 1:
Skriver ut ab + xy (Skriver ut 0 och 1
ab += xy; (ab = ab + xy) (ab = 0+1) $ab är nu 1
xy += ab; (xy = xy + ab) (xy = 1+1) $xy är nu 2

Iteration 2:
ab = 1
xy = 2
Skriver ut ab + xy (Skriver ut 1 och 2)
ab += xy; (ab = ab + xy) (ab = 1+2) $ab är nu 3
xy += ab; (xy = xy + ab) (xy = 2+3) $xy är nu 5

Iteration 3:
ab = 3
xy = 5
Skriver ut ab + xy (Skriver ut 3 och 5)
ab += xy; (ab = ab + xy) (ab = 3+5) $ab är nu 8
xy += ab; (xy = xy + ab) (xy = 5+8) $xy är nu 13

Hade while-loopen nu varit $count < 4 istället hade den skrivit ut
0 1
1 2
3 5
8 13

Jag tror dock i "uppgiften" de även vill ha HTMLen!
Alltså även <table> och <tr>-taggarna

Visa signatur

Ryzen 5600X | MSI Tomahawk | GTX 3070

Permalänk
Medlem

@Sonywalk: dude tack så mycket för hjälpen!! De vill ha bara nummer, inget annat!

Visa signatur

Ryzen 7 2700 @ 4.0Ghz, X470 Taichi, 16gb ram @ 3200 mhz, GTS V8 Cpu Cooler, Gigabyte 5700XT.