mahjarMedlem sedan okt. 200456 inlägg
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
Mc FettoMedlem sedan nov. 20021 920 inlägg
:)
Vad inehåller antal?
$antal = 100.32;
$antal = (double) $antal;
Web-TorMedlem sedan nov. 200011 794 inlägg
Vad skrivs ut på skärmen och varför?
<?
$foo='right';
echo ($foo=='right')?'wF':'Eforum';
?>
mahjarMedlem sedan okt. 200456 inlägg
WebTor svar:
wF, $foo e lika som 'right'. asså fan fattar inte mer =(....
mahjarMedlem sedan okt. 200456 inlägg
$antal = 100.32;
$antal = (double) $antal;
echo $antal
svar: 100.32
Web-TorMedlem sedan nov. 200011 794 inlägg
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 ;
mahjarMedlem sedan okt. 200456 inlägg
Mc FettoMedlem sedan nov. 20021 920 inlägg
function do_some_things(){
$antal = 100.32;
}
do_some_things();
$antal = (int) $antal;
echo $antal;
Vad skrivs ut här då?
mahjarMedlem sedan okt. 200456 inlägg
hmm, 0 men varför vet jag inte...eftersom INT är en heltal
Mc FettoMedlem sedan nov. 20021 920 inlägg
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?! ;)
aasahMedlem sedan mars 20033 451 inlägg
Vad skrivs ut här?
$ix = 7;
echo "$ix";
echo "<BR>";
echo '$ix';
echo "<BR>";
echo "'$ix'";
fiddlerMedlem sedan juli 20022 464 inlägg
mahjarMedlem sedan okt. 200456 inlägg
$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...
SkarreMedlem sedan apr. 20012 447 inlägg
Vad skrivs ut?
for ($i = 0; $i < 2; $i++) {
echo (($i % 2 == 0) ? 'Foo' : 'Bar').'<br/>';
}
mahjarMedlem sedan okt. 200456 inlägg
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 :)
mahjarMedlem sedan okt. 200456 inlägg
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
MeleaMedlem sedan juli 20032 667 inlägg
$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å?
mahjarMedlem sedan okt. 200456 inlägg
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 :(
Mc FettoMedlem sedan nov. 20021 920 inlägg
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;
aasahMedlem sedan mars 20033 451 inlägg
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";