Projekt

Kom igång med Php (7/7)

2011-05-20 10:36 #0 av: [Fibbe]

Sista delen av denna artikelserie. Vi ska lära oss de vanligaste funktioner och de vanligaste fel man stöter på när man börjar programmera i Php. Vi ska även lära oss vad en sträng är.

Strängar

Strängar är text. Vi har tidigare skrivit strängar så här:

echo "Det som står här är en sträng";

Det finns 2 olika standardsträngar i Php. Antingen skriver man strängen med "-tecknet eller med '-tecknet. Dessa olika strängar skiljer sig en del.

("-tecknet kan kallas Citat-tecken eller dubbelfnutt, och '-tecknet brukar kallas fnutt av programmerare.)

Strängen med "-tecknet:

$var = "Bosse";

echo "Min vän heter $var";

Ovanstående ger:

Min vän heter Bosse

Strängen med '-tecknet:

$var = "Bosse";

echo 'Min vän heter $var';

Ovanstående ger:

Min vän heter $var

Alltså, strängen med "-tecken översätter variabler till dess värde, medan den sistnämnda strängen med '-tecknet inte gör det.

Det är även viktigt att tänka på att man inte kan använda "-tecknet i en "-sträng. Motsvarande för '-strängen.

Exempel:

echo "Ibland kallas jag för "Fibbe" av mina vänner";

Detta kommer att ge error. Som vi ser startar strängen precis innan första ordet, men den avslutas redan efter 4:e ordet(för). För att lösa detta så måste vi säga åt Php att vi inte vill att tecknet ska tolkas som avslutad sträng. Detta gör vi genom att sätta ett backslash (\) framför.

Fungerande exempel:

echo "Ibland kallas jag för \"Fibbe\" av mina vänner";

Ovanstående ger:

Ibland kallas jag för "Fibbe" av mina vänner

Det går dock att skriva '-tecknet i en "-sträng och tvärt om. Därför är '-strängen lämplig för HTML.

Snyggt exempel:

echo '<a href="länk">Länk</a>';

Fult exempel, speciellt om HTML-koden är lång:

echo "<a href=\"länk\">Länk</a>";

 

Sätta ihop strängar

Vi kan sätta ihop strängar genom att sätta en punkt i mellan dessa:

echo 'Sträng 1 ' . " Sträng 2 ";

Vi kan även sätta ihop variabler med strängar:

$var = "Variabel.";

echo 'Före variabeln. ' . $var . ' efter variabeln.';

Ovanstående exempel ger:

Före variabeln. Variabel. efter variabeln.

Det går även att väldigt enkelt lägga på en sträng i slutet på en variabel genom att skriva .= istället för =

Exempel:

$var = "Text. ";

$var .= "Mer text";

echo $var;

Resultatet blir:

Text. Mer text

 

 

isset och empty

Dessa två funktioner kan vara väldigt användbara. isset har vi använt oss av tidigare för att kolla om en variabel finns. isset retunerar sant (TRUE) om variabeln existerar i koden. empty retunerar sant (TRUE) om variabeln inte har något värde, med andra ord, när den är tom.

Exempel:

$variabel = "";

if ( isset($variabel) )
{
echo "Variabeln finns!";
}
else
{
echo "Variabeln finns inte!";
}

Om vi kör ovanstående kod får vi:

Variabeln finns!

Om vi suddar ut variabeln och kör igen får vi resultatet: Variablen finns inte!.

Använder vi istället empty-funktionen får vi följande resultat.

Exempel:

$variabel = "";

if ( empty($variabel) )
{
echo "Variabeln är tom!";
}
else
{
echo "Variabeln är inte tom!";
}

Vi får resultatet:

Variabeln är tom!

Skriver vi något i variabeln så kommer vi få att variabeln inte är tom.

 

 

Switch

Istället för en stor if-sats med många olika fall kan vi istället göra en switch-sats. Detta är mycket smidigare.

Exempel på if-sats som bör översättas till switch:

$fall = "Åsna";

if ( $fall == "Kanin" )
{
echo "Kaniner är fin!";
}
elseif ( $fall == "Åsna" )
{
echo "Åsnor är envis";
}
elseif ( $fall == "Hund" )
{
echo "Hundar är klok";
}
elseif ( $fall == "Katt" )
{
echo "Katter är lata";
}
else
{
echo "Kan inte säga något om djuret.";
}

Detta kan vi istället skrivas med switch:

$fall = "Kanin";

switch ( $fall )
{
case "Kanin":
echo "Kaniner är fin!";
break;

case "Åsna":
echo "Åsnor är envis";
break;

case "Hund":
echo "Hundar är klok";
break;

case "Katt":
echo "Katter är lata";
break;

default:
echo "Kan inte säga något om djuret.";
}

Vi skickar alltså in ett värde till switch-satsen, sedan gör vi så många fall vi behöver.

Exempel på ett fall:

    case [sträng/siffra/etc...]:
//Det vi ska utföra om fallet inträffar
//När vi är klar skriver vi break:
break;

Sista fallet är default, det inträffar om inget annat fall inträffade. Default fall behöver inte existera.

 

 

Include och require

Detta hjälper oss att sammanlänka fler olika filer. Include hämtar en annan fil och ser till att alla funktioner i den hämtade filen även kan användas i filen vi anropar från. Require gör exakt samma sak men kommer att få sidan att krasha om filen inte hittas, detta är bra om det är en viktigt fil som ska hämtas. Hittas inte filen går det inte att komma åt sidan.

Exempel, vi gör en fil som heter funktioner.php den ser ut så här:

<?php
function divide()
{
return 1/9;
}
?>

I vår indexfil (index.php) skriver vi sedan:

<?php
echo divide();
?>

Kör vi koden kommer vi får felmeddelande:

Fatal error: Call to undefined function divide() in C:\Program Files (x86)\EasyPHP-5.3.6.0\www\Index.php on line 2

Om vi däremot inkluderar funktioner.php i vår indexfil enligt följande:

<?php
include( "funktioner.php" );

echo divide();
?>

Då fungerar det utmärkt och vi får resultat:

0.11111111111111

 

Diskussion i den här tråden

Mvh Felix

Intresserad av Php, MySQL eller övrig webbprogrammering?
Välkommen till webbprogrammering.ifokus.se

Anmäl
2011-05-25 19:06 #1 av: [Fibbe]

Fler projektartiklar finns här! Nästa artikelserie som heter Enkel inloggning är en bra fortsättning!

Mvh Felix

Intresserad av Php, MySQL eller övrig webbprogrammering?
Välkommen till webbprogrammering.ifokus.se

Anmäl

Bli medlem på iFokus

För att kunna delta i diskussionen måste du bli medlem på iFokus. Det går snabbt, enkelt, och kostar ingenting. Medlemskapet ger dig tillgång till över 300 sajter.