webForumDet fria alternativet

PHP Uppgifter?

PHPur PHP

30 svar · 973 visningar · startad av mahjar

Medlem sedan okt. 200457 inlägg
Frågan#1

Tjena.
Jag har precis börjat läsa PHP och vill lära mig mer genom att göra uppgifter, inte svåra uppgifter där man måste skriva mycket kod.

Tex så här:
Uppgift: Vad kan du hitta för fel på den här koden
Kod: <?php
$rätt = "grattis du klara det";
%>
Svar: i slutet av phptaggen ska det vara ?>, inte %> som asp använder...

den frågan gjorde ja ju snabbt bara, lite svårare skulle jag vilja ha....

eller så kan ni göra några själv om ni har tid =) ?

MVH Mahjar

Medlem sedan nov. 20022 355 inlägg
#2

:)
Vad inehåller antal?

$antal = 100.32;
$antal = (double) $antal;
Medlem sedan nov. 200013 890 inlägg
#3

Vad skrivs ut på skärmen och varför?

<?
$foo='right';
echo ($foo=='right')?'wF':'Eforum';
?>
Medlem sedan okt. 200457 inlägg
#4

WebTor svar:

wF, $foo e lika som 'right'. asså fan fattar inte mer =(....

Medlem sedan okt. 200457 inlägg
#5

$antal = 100.32;
$antal = (double) $antal;

echo $antal

svar: 100.32

Medlem sedan nov. 200013 890 inlägg
#6

wF, $foo e lika som 'right'. asså fan fattar inte mer =(....

Det där kan vara ett ganska smart sätt att skriva på istället för en if-sats

if (VILLKOR){
 SANT
}else{
 FALSKT
}

...är samma sak som...

(VILLKOR) ? SANT : FALSKT ;
Medlem sedan okt. 200457 inlägg
#7

Hehe okej =)

mer!

Medlem sedan nov. 20022 355 inlägg
#8

function do_some_things(){
	$antal = 100.32;
}
do_some_things();
$antal = (int) $antal;
echo $antal;

Vad skrivs ut här då?

Medlem sedan okt. 200457 inlägg
#9

hmm, 0 men varför vet jag inte...eftersom INT är en heltal

Medlem sedan nov. 20022 355 inlägg
#10

i funktionen do_some_things() deklareras $antal men värdet existerar endast i funktionen, alltså har $antal inget värde när den görs om till int. :)
Hey, du ska väl inte sitta och testa koden för att svara?! ;)

Medlem sedan mars 20034 471 inlägg
#11

Vad skrivs ut här?

$ix = 7;
echo "$ix";
echo "<BR>";
echo '$ix';
echo "<BR>";
echo "'$ix'";
Medlem sedan juli 20023 617 inlägg
#12

Kul tråd! :)

Medlem sedan okt. 200457 inlägg
#13

$ix = 7;
echo "$ix";
echo "<BR>";
echo '$ix';
echo "<BR>";
echo "'$ix'";

Svar:
7
$ix
'7'

första echo "$ix" skrivs ut me dubbel fnuttar.
andra echo '$ix'; skriver den ut variabeln direkt. asså bara de man skriver, eftersom det är enkla fnuttar, vet inte hur jag ska förklara riktigt.
tredje echo "'$ix'" skriver ut '7' eftersom dubbelfnuttarna är mellan...och den skriver ut allt som är mellan dubbel fnuttarna...

Medlem sedan apr. 20012 427 inlägg
#14

Vad skrivs ut?

for ($i = 0; $i < 2; $i++) {
	echo (($i % 2 == 0) ? 'Foo' : 'Bar').'<br/>';
}
Medlem sedan okt. 200457 inlägg
#15

Mc Fetto skrev:

i funktionen do_some_things() deklareras $antal men värdet existerar endast i funktionen, alltså har $antal inget värde när den görs om till int. :)
Hey, du ska väl inte sitta och testa koden för att svara?! ;)

hehe sorry :P...men jag fattar inte riktigt detta med do_some_things()....

så om jag inte hade skrivit int skulle den skriva ut värdet..?

kan du förklara genom att skriva ett till script som har med detta o göra :)

Medlem sedan okt. 200457 inlägg
#16

Skarre skrev:

Vad skrivs ut?

for ($i = 0; $i < 2; $i++) {
	echo (($i % 2 == 0) ? 'Foo' : 'Bar').'<br/>';
}

Foo
Bar

eftersom första raden så har du variabeln $i som har värdet 0.
sedan kollar du om variabeln $i är mindre än 2 och det är det ju.
sedan: $i % 2 kollar du om 2 går i $i...går ju inte...så de blir 0.
sedan == kollar om 0 är like med 0 och det är det. så skriver den ut Foo Bar.

Vet inte om jag förstått det rätt :l

Medlem sedan juli 20033 147 inlägg
#17
$a[0][0] = "q";
$a[0][1] = "w";
$a[1][0] = "e";
$a[1][1] = "r";

foreach ($a as $v1) {
   foreach ($v1 as $v2) {
       echo $v2.'<br />';
   }
}

Den då?

Medlem sedan okt. 200457 inlägg
#18

Melea skrev:

$a[0][0] = "q";
$a[0][1] = "w";
$a[1][0] = "e";
$a[1][1] = "r";

foreach ($a as $v1) {
   foreach ($v1 as $v2) {
       echo $v2.'<br />';
   }
}

Den då?

det är väl arrayer? har inte läst så mycket om det :(

Medlem sedan nov. 20022 355 inlägg
#19

mahjar skrev:

Mc Fetto skrev:

i funktionen do_some_things() deklareras $antal men värdet existerar endast i funktionen, alltså har $antal inget värde när den görs om till int. :)
Hey, du ska väl inte sitta och testa koden för att svara?! ;)

hehe sorry :P...men jag fattar inte riktigt detta med do_some_things()....

så om jag inte hade skrivit int skulle den skriva ut värdet..?

kan du förklara genom att skriva ett till script som har med detta o göra :)

Jag är inte den mest pedagogiska persoen, så om någon kan förklara bättre än mig så gör det :)

Problemet är att i funktionen do_some_things så deklareras $antal. Men antal finns som agt inte utanför funktionen... du måste returnera värdet på $antal från funktionen (alternativt skicka in en referens till $antal). Här returneras värdet:

function do_some_things(){
	return $antal = 20;
}

$antal = do_some_things();

echo $antal;
Medlem sedan mars 20034 471 inlägg
#20

Mc Fetto skrev:

... Problemet är att i funktionen do_some_things så deklareras $antal. Men antal finns som agt inte utanför funktionen... du måste returnera värdet på $antal från funktionen (alternativt skicka in en referens till $antal). Här returneras värdet:...

Ett förtydligande:

function do_some_things() [blue]{
    $antal = 100.32;
}[/blue]
do_some_things();
$antal = (int) $antal;
echo $antal;

Eftersom $antal i do_some_things är deklarerad i funktionen så "lever" den variabeln bara inom funktionen, dvs i det färgade området ovan.

Det betyder följande:
do_some_things(); - funktionen sätter $antal till ett värde, och kastar bort det direkt...

$antal = (int) $antal; - det fetstilade $antal är en icke tidigare nämnd variabel. PHP är "snäll" så tillvida att den då inför variabeln åt dig och låter den få ett så intetsägande värde som möjligt. (Strängar blir "" (tom), tal blir 0, sant/falskt blir falskt... osv)
(int)$antal => vi pratar om tal, alltså $antal blir 0, (int) 0 är 0 och det icke-fetstilade $antal = 0.

*****
Vad skrivs ut?

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

132 ms totalt · 3 externa anrop · v20260731065814-full.55e59744
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)