webForumDet fria alternativet

PHP Uppgifter?

30 svar · 973 visningar · startad av mahjar · sida 2 av 2

mahjarMedlem sedan okt. 200457 inlägg
#21

Ok tack mcfetto och assah fatta nu =)

aasahMedlem sedan mars 20034 471 inlägg
#22

aasah skrev:

Vad skrivs ut?

$minTal = 7;
$maxTal = 9;
echo "min = $mintal, max = $maxTal";

mahjarMedlem sedan okt. 200457 inlägg
#23

aasah skrev:

aasah skrev:

Vad skrivs ut?

$minTal = 7;
$maxTal = 9;
echo "min = $mintal, max = $maxTal";

min = 7, max = 9

Bokstaven T i mintal måste vara stor som variabeln...

aasahMedlem sedan mars 20034 471 inlägg
#24

mahjar skrev:

... min = 7, max = 9

Bokstaven T i mintal måste vara stor som variabeln...

Precis. :) Så eftersom den inte var det? Vad skriver det jag skrev ut? ;)

mahjarMedlem sedan okt. 200457 inlägg
#25

min = , max = 9 :D

aasahMedlem sedan mars 20034 471 inlägg
#26

:D

aasah skrev:

$minTal = 7;
$maxTal = 9;
echo "min = $mintal, max = $maxTal";

Det här är faktiskt ett hyfsat vanligt fel att göra... ;) Speciellt i lite större filer där tilldelning och utskrift inte står på raderna under varann.

Ett bra tips är att lägga in
error_reporting(E_ALL);
högst upp i skripten för då får man ut även varningar. Med denna rad hade du även fått ut infon att du använde en variabel som inte var satt. Det kan vara bra ibland eftersom felet kan vara betydligt lömskare...
Ex:
$minTal = 7;
$maxTal = 9;
// 100 rader kod
$sextitre = $mintal*$maxTal;
echo "$sextitre"; //vilket spottar ut 0... :bla ;)

Vad händer här?

$nio = 9;
function addNine($x) {
 return ($nio + $x);
}
$nitton = addNine(10);
echo "$nitton";
PeddaMedlem sedan juni 20006 032 inlägg
#27

En enkel for loop:

<?php 
echo "<select>\n";
for ($antal=22; $antal<51; $antal++) {
	echo "<option value=\"$antal\">$antal</option>\n";
}
echo "</select>\n";
?>
mahjarMedlem sedan okt. 200457 inlägg
#28

aasah skrev:

Vad händer här?

$nio = 9;
function addNine($x) {
 return ($nio + $x);
}
$nitton = addNine(10);
echo "$nitton";

Det den gör:

  1. Lägger värdet 9 i en varibel som heter nio
  2. Skapar en funktion (en bit kod man kan anropa), som tar emot ett värde, och skickar tillbaka "värdet"+innehållet i varibeln nio
  3. Du anropar funktionen addNine och skickar värdet tio till den. addNine plusar tio med innehållet i variablen nio och skickar tillbaks detta.
  4. eftersom du sätter värdet på variablen $nitton till addNine(10); så kommer addNine(10); att retunera talet 19 som sparas i varibeln nitton.

och så måste man skriva echo $nitton; eftersom det inte är en sträng utan en variabel... :)

aasahMedlem sedan mars 20034 471 inlägg
#29

mahjar skrev:

... Det den gör:

  1. Lägger värdet 9 i en varibel som heter nio
  2. Skapar en funktion (en bit kod man kan anropa), som tar emot ett värde, och skickar tillbaka "värdet"+innehållet i varibeln nio
  3. Du anropar funktionen addNine och skickar värdet tio till den. addNine plusar tio med innehållet i variablen nio och skickar tillbaks detta.
  4. eftersom du sätter värdet på variablen $nitton till addNine(10); så kommer addNine(10); att retunera talet 19 som sparas i varibeln nitton.

och så måste man skriva echo $nitton; eftersom det inte är en sträng utan en variabel... :)

Om jag hade givit ett snällt exempel så hade 1-4 varit rätt... §jr Dvs du har rätt beträffande hur funktionsanrop fungerar rent allmänt och vad som menas med att returnera värden. :)

Men... nu var inte det här något helt snällt exempel... §jr. Om du prövar att köra det i ett skript kommer du att upptäcka det. Det finns en liten hake någonstans...

Vad gäller ditt tillägg om echo, så ska du kanske gå tillbaka hit och jämföra... Det var alltså inte det som var haken.

Vill du hellre ha en förklaring än att köra och se vad som faktiskt händer, så kan du visst få det. :) Skriv det i så fall.

EitrazMedlem sedan sep. 2002366 inlägg
#30

Lite rekursion kan ju alltid vara bra att kunna (och användande av -- och ++)

Fråga 1
Vad kommer skrivas ut här?

function power($base, $exp) {
	if ($exp == 1)
		return $base;
	return $base * power($base, --$exp);
}

print power(2,3);

Vad skulle hända om du satte -- efter $exp istället?

Fråga 2
Vad skrivs ut här?

$n = 9;
while ($n--)
	print ($n % 3) + 1 . "\n";
The_HulkMedlem sedan juni 20031 837 inlägg
#31

Här kommer en som mixar ihop lite som du stött på i tidigare uppgifter samt en ny sak.

$antal_anrop = 0;

function anrop_1()
{
    $antal_anrop++;
}

function anrop_2()
{
    global $antal_anrop;
    $antal_anrop++;
}

for($i=0;$i<10;$i++)
{
    ($i % 2) ? anrop_1() : anrop_2();
    echo "<br>$i : $antal_anrop";
}
140 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)