# Kom igång med Php (7/7)
Author: [Borttaget]

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](../../discussions/4dd50e5ad4ebea3ebd001023-kom-igang-med-php#4dd2dad588f4721678015b62-1)

## Comment 1
Author: [Borttaget]

Fler projektartiklar finns [här](http://webbprogrammering.ifokus.se/articles/4dd3742988f47216720154c1-projektartiklar#4dd2dd3cd4ebea6d7d014c80-1)! Nästa artikelserie som heter Enkel inloggning är en bra fortsättning!
