Programmering01 [prrprr01]

Moment02 - Programmeringens grunder

Introduktion

I detta moment så skall vi kika på programmeringens grunder. Vi kommer direkt dyka in i PHP för att ni skall få börjar koda och se hur det fungerar. Vi kommer i senare moment titta på programmeringen i ett större perspektiv och även jämföra med andra programmeringsspråk.

Momentets mål

I varje moment så jobbar vi mot ett eller flera mål som skolverket har satt upp i varje kurs.

Centralt innehåll

  • Grundläggande programmering i ett eller flera programspråk varav minst ett av språken är textbaserat.
  • Grundläggande kontrollstrukturer, konstruktioner och datatyper.
  • Grundläggande datastrukturer och algoritmer.

Vad är PHP

Filmad genomgång 1

Ett scriptspråk som bäddas in i html-kod för att skapa dynamiska hemsidor.
Namnet PHP är en rekursiv akronym: Hypertext Preprocessor.

Alternativ till PHP;

  • ASP – Microsofts scriptspråk (bygger på Jscript eller Vbscript).
  • JSP – ett scriptspråk byggt på java, ej att förväxlas med Javascript
  • CGI – ett scriptspråk som mest användes i internets barndom (Perl/C++)

Motsatsen till PHP är statiska sidor tex HTML.

Webbservern

En kort film som visar på hur webbservern bearbetar en fil med php-skript.

PHP och HTML

PHP är som du förstått ett scriptspråk som med olika avancerade koder gör saker på en server, resultatet som användaren ser blir dock alltid html-kod. Detta gör att vi säger att php är inbäddat i html. För att klara av denna kursen på ett bra sätt så behöver du alltså vara duktig både på att programmera php men du behöver också kunna html och css, annars kommer det arbete du gör se bra ut.

För att infoga php i htmlkod så skapar du en kodtagg, se rad 8-10 i exemplet nedan.

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<?php
		echo "Detta är skrivet inne i kodtaggen";
	?>
</body>
</html>

Felhantering

Filmad genomgång 2

Det är viktigt att lära sig tyda felkoderna som blir när du skriver kod som inte har korrekt syntax. För fel skriver vi alla, men den som inte kan lösa felen kommer aldrig vidare.

Ställa in så att felen visas

För att överhuvudtaget ha en chans att rätta eventuella fel så måste du tala om för MAMP att du vill se felen. MAMP är förinställt för at inte visa några fel. Det är en bra inställning för en skarp produktionsmiljö, men för oss som skall skapa och testa applikationer då funkar det inte.

Gå till Kunskap: MAMP och kika i avsnittet för Visa felmeddelande för att göra rätt inställning.

Arbete

Nu skall vi börja arbeta med kod. Jag kommer gå igenom varje del för sig, det kommer finnas text och något kodexempel på varje del innan det kommer presenteras en, eller flera, mindra uppgifter. Dessa uppgifter skall du samla på en sida och kommentera/dokumentera främst för din egen del. Alla övningar du gör skall bygga upp ett referensverk som du alltid skall kunna återkomma till när du behöver låna kod.

När alla delar är gjorda så kommer instruktioner om hur du skall redovisa. Du skall bland annat implementera applikationen CSource som gör så att jag kan se koden som du skriver.

Utskrift

Nyckelordet för att skriva ut saker i php, alltså göra om kod till något som blir html-kod, är echo. Print fungerar på liknande sätt. Orsaken till att bägge fungerar är att PHP är tänkt att vara ett smidigt språk för alla programmerare oavsett från vilken miljö du kommer. Detta är både en fördel och en nackdel. Vill du grotta ner lite extra i skillnader så sök på php.net.

Exempel

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<?php
	echo "<h1>Rubrik med echo</h1>";
	print "<h2>Rubrik med print</h2>";
	?>
</body>
</html>

Uppgift

  1. Skriv ut en rubrik (använd HTML-koder) som talar om att du i denna del jobbar med echo.
  2. Skriv ut ditt namn och någonting annat över två rader. Även här behöver du använda html-koder.

Kommentarer

Det är viktigt att kommentera den kod du skriver och det av flera olika anledningar. Nu i början så är det bra att kommentera för att sätta ord på det du har skapat, senare så är det bra att kommentera för att förstå större programmeringsflöden, framförallt om det var länge sedan du skapade koden. Det är också skönt att ha välkommenterad kod om du skall använda någon annans kod.

Exempel

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<!-- kommentar i html-koden kommer inte skrivas ut i webbläsaren
			men den kommer synas i källkoden! -->
	<?php
	// När vi kommenterar i php så använder vi
	// dubbla "slashtecken" eller ett hashtecken "#".
	echo "<p>Att kommentera koden är viktigt.</p>";

	/*
	* Vill vi skriva en kommentar över flera rader
	* så skriver vi på detta sätt.
	* De viktigaste tecknen är starten på rad 14 och
	* slut på rad 20, de andra stjärnorna "*" kan tas bort,
	* de används bara för att det skall se snyggare ut.
	*/
	print "<h2>Rubrik med print</h2>";

	?>
</body>
</html>

Uppgift

Här finns ingen specifik uppgift men från och med nu vill jag att du kommenterar de delar som du lär dig eller testar på i varje uppgift. Tränar du på loopar så är det loopen du kommenterar. När vi senare tittar på metoder kommer du få mer tips på effektiva kommentarer.

Datatyper

Filmad genomgång 3

Datatyper är en viktig sak inom programmeringen. Alla variabler (och konstanter) som programmet skall hålla reda på har en datatyp. Det är datatypen som avgör vad man kan göra med just den typen av variabel. Det går att räkna med tal men inte med strängar osv.

För användaren verkar det som att PHP inte använder datatyper men skillanden mot de flesta andra språk är att PHP själv håller koll på vilken datatyp en viss variabel har. Om vi jämför med Java, C++ eller C# så talar vi om vid skapandet att en specifik variabel har en specifik datatyp och sedan kan det inte ändras när programmet körs. I PHP så har en viss variabel en bestämd datatyp vid ett enskilt tillfälle men den kan ändra datatyp lite senare. PHP-tolken tar själv hand om vilken datatyp som är lagrad i variabeln.
Det stora problemet uppstår för oss som användare som också måste hålla koll på vilken datatyp som finns lagrad i variabeln. Beroende på vad vi vill använda variabeln till så behöver vi ibland kolla att den har rätt datatyp, annars kommer applikationen inte att göra som vi förväntar oss.

De datatyper som finns i PHP är;

  • boolean, bool - kan har värdet sant eller falskt, blir resultatet i uttryck.
  • integer, int - lagrar heltal.
  • float, double, real - lagrar decimaltal, (i php är dessa tre samma sak, i andra språk skiljer det en del).
  • string - lagar textsträngar (egentligen en sekvens av bokstäver).
  • array - en samling av värden (vi återkommer till den senare).
  • objekt - en datatyp som representerar en grupp av variabler som på något sätt hänger ihop. Behandlas i Moment07.
  • NULL - en variabel som inte har något värde alls, två variabler med värdet NULL är inte lika.
  • resource - variabeln innehåller en referens till någonting, tex ett databasanrop.

Vill du läsa mer och se exempel på de olika datatyperna så finns det bra info här w3schools - datatyper.

Några av datatyperna har du redan använt och de flesta andra kommer du stöta på under kursen.
Viktigt är dock att trots att PHP inte skriver ut vilken datatyp en viss variabel har så behöver du ha koll på vad variabeln innehåller för att du skall kunna använda den på rätt sätt.

Variabler

En variabel kan ses som en behållare som innehåller någonting. I namnet variabel känner du nog också att innehållet i denna variabel kan variera, alltså bytas ut.

För att jobba med variabler så finns det några saker du behöver känna till;

  • En variabel måste ha ett namn, vi kan använda alla siffror och bokstäver, undvik dock å/ä/ö, samt en del specialtecken för att döpa en variabel.
    OBS1: Namnet får inte börja med en siffra.
    OBS2: Mellanslag får inte användas i en variabel.
  • Vi talar om att en variabel är en variabel genom att den framför namnet har ett dollartecken ($, alt+4 på en mac)
  • Eftersom du själv får döpa en variabel så använd beskrivande namn, $summa, $radie och $skatt är mycket mer beskrivande än $a, $b, $x och $tal12.
  • God programmeringssed här innebär att vi använder gemener (små bokstäver) för att namnge variabler. Väljer vi att skapa längre variabelnamn som är sammansatta av flera ord så använder vi CamelCase ($namnPaLangVariabel) eller använder oss av underscore ($namn_pa_lang_variabel), ingen är mer rätt än den andra men försök att vara konsekventa så att du inte blandar i din kod.

Tilldelning

Inom matematiken så har du säkert sett varibler använda på förljande sätt, X + 2 = 3 och det fungerar för en människa att beräkna X i den ekvationen. Men datorn behöver ha mera hjälp.

Om du skall tilldela en variabel ett värde måste detta ske i vänsterled, vilket innebär att variabeln står till vänster om tilldelningtecknet, som är tecknet = och allt som står till höger om tilldelningsteckent kommer lagras i variabeln, det kan vara en text, ett tal, en uträkning eller något annat.

Exempel

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<?php
		// varibeln $skola skapas och tilldelas texten "TIS"
		$skola = "Thoren Innovation School";

		// Skriv ut att kursen går på vilken skola
		echo "Denna kursen läser vi på ".$skola;

		// Skapar två variabler
		$hojden = 3;
		$bredden = 4;

		// Skriv ut arean
		echo "<p>Arean på rektangeln är ".$hojden*$bredden."</p>";

		// Vi kan också beräkna arean först
		$arean = $hojden*$bredden;

		// Skriv ut arean igen, denna gången med variabeln $area
		echo "<p>Arean på rektangeln är $arean.</p>";
	?>
</body>
</html>

Uppgift

  1. Skapa två variabler där du i den ena lagrar ditt namn och i den andra denna kursens namn. Gör sedan en utskrift om att "Johan läser kursen Programmering 1"
  2. Skapa en variabel $radie som får värdet 4, beräkna sedan area och omkrets av en cirkel. Anta att PI har värdet 3.14.
    Utskriften kan se ut så här; Om radien är 4 så är omkretsen 25.12 och arean 50.24.

Konstanter

När vi nu har använt variabler så är det dags att kolla på motsatsen, konstanter. En konstant får sitt värde när den skapas och detta kan inte ändras i efterhand. Det finns både förskapade konstanter som tex. M_PI som innehåller värdet av PI men också egenskapade konstanter som kan innehålla värdet av både numeriska värden och texter.

Exempel

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<?php
		// Vi definierar en konstant med namnet SCHOOL...
		define("SCHOOL", "Thoren Innovation School");
		// som vi sedan skriver ut...
		echo SCHOOL;
		echo "<br />";		// Radbrytning, så här kan vi också kommentera

		// Om vi försöker ändra värdet på SCHOOL så får vi ett felmeddelande
		// SCHOOL = "Annan Skola";
		// Parse error: syntax error, unexpected '=' in test.php on line 15

		// Använd den inbyggda konstanten M_PI som är PI med 8 decimaler
		echo "PI: ".M_PI;
	?>
</body>
</html>

Uppgift

  1. I en tidigare uppgift, med tilldelning, så beräknade du area och omkrets av en cirkel med ett närmevärde på PI, gör nu om uppgiften fast med konstanten M_PI istället.
  2. Skapa en egen konstant MOMS som skall ha värdet 1.25 (25% mervärdesskatt) skriv sedan ut vad det kostar att hyra en duktig IT-konsult i en timme då hen tar 850kr + MOMS.

Konkatenering

Vi har redan varit inne på hur vi kan slå ihop olika strängar/texter med variabler och direkta uträkningar. Detta är en extremt viktig del av PHP att vi har koll på detta. Du kommer också märka att det går att göra på så många olika sätt, i denna kursern kommer vi göra på något av två sätt och i slutet av kursen men framförallt i nästa kurs kommer vi titta på ett helt annat sätt att strukturera upp texten på.
Kika på kodexemplet, där finns olika exempel med förklaringar.

Exempel

Ingen utskrift finns på dessa koder men jag skriver ut i koden vad som händer, det är också enkelt att kopiera all kod och köra den på din egen dator.

<?php
//  Nu tog jag bort html-koden för att ni har sett den flera gånger och det
//  fungerar faktiskt att köra php utan html men det blir ju svårt att
//  formattera på ett snyggt sätt.

	// Vi börjar med en variabel
	$skola = "Thoren Innovation School";

	// Konkateneringspunkten som bygger ihop strängen/variabeln på höger
	// och vänster sida om punkten.
	echo "<p>Johan jobbar som lärare på " . $skola."</p>";

	// Detta ger utskriften
	// Johan jobbar som lärare på Thoren Innovation School

	// Om vi struntar i punkten och lägger in variabeln i strängen
	echo "<p>Johan jobbar som lärare på $skola</p>";

	// Det ger ju också utskriften
	// Johan jobbar som lärare på Thoren Innovation School

	// Hur funkar det med enkelfnutt istället?
	echo '<p>Johan jobbar som lärare på $skola</p>';

	// Det ger utskriften
	// Johan jobbar som lärare på $skola
	// Enkelfnutt, ', skriver alltså ut namnet på variabeln.

	// Vi räknar lite addition
	$tal1 = 3; $tal2 = 4;		// Vi kan ge flera instruktioner på samma rad

	// Vi skriver ut...
	echo "<p>$tal1 + $tal2 = $tal1+$tal2</p>";
	// och får svaret 3 + 4 = 3+4, det är ju inte det svar vi vill ha

	// Vi testar att bryta isär och konkatenera med punkt
	echo "<p>$tal1 + $tal2 = " . $tal1+$tal2."</p>";
	// Då blir svaret 4, det är ju inte rätt

	// Vi testar med parenteser för att se om vi kan tvinga fram rätt resultat
	echo "<p>$tal1 + $tal2 = " .($tal1+$tal2)."</p>";
	// Resultatet blir då "3 + 4 = 7", skönt

	// Kan vi gå tillbaka till första utskriften då och bara lägga till ()?
	echo "<p>$tal1 + $tal2 = ($tal1+$tal2)</p>";
	//  Det gick inte, då blir resultatet "3 + 4 = (3+4)", här kommer det ologiska
	//  med PHP fram. Det är klart att det går att förklara varför det blir som det
	//  blir. Men jag kan inte förklara det. Enda sättet att lära sig hantera detta
	//  är att testa egna lösningar och inte ge sig förrän problemet är löst.

	// Ett säkert sätt som alltid fungerar är att dela upp i olika satser,
	// PHP jobbar aldrig med flera satser samtidigt så detta kommer fungera
	echo "<p>$tal1 + $tal2 = ";
	echo $tal1+$tal2."</p>";
	// Fast det är ju egentligen samma sak som det vi skrev på rad 41, men uppdelat
?>

Uppgift

  1. Vi återanvänder en gammal uppgift, gå tillbaka till uppgift 4, den som beräknade area och omkrets av en cirkel. Denna uppgift skall vi nu göra på två sätt;
    1. Det första sättet då skall alla uträkningar göras i samband med att svaret skrivs ut. Här måste du använda konkatenering.
    2. I den andra lösningen får du använda variablerna $area och $omkrets och seda skapa en utskrift utan konkatenering.
    Fundera sedan på vilket sätt du föredrar, bägge är helt ok att använda sig av.

Strängar

Filmad genomgång strängar

Strängar både skiljer sig och liknar tidigare variabler som vi har använt. Det går ju inte att räkna med dem men vi kommer använda dem väldigt ofta för att bygga upp längre strängar som sedan skrivs ut.

<?php
	// Exempel på hur vi kan jobba med strängar
	$str = "En liten";

	// Här låter vi den ursprungliga strängen konkatenera med den nya strängen
	$str = $str . " sträng.";
	echo $str;
	// Utskriften blir i detta fallet "En liten sträng."

	// Vi kan också skriva det på följande sätt
	$str = "En liten";
	$str .= " sträng";
	// $str .= fungerar som "$str = $str ."
?>

Escapetecken

När vi jobbar med strängar så används tecknet " för att öppna och stänga en sträng. Om vi vill skriva ut ett sådant tecken så kommer vi få problem då PHP-tolken kommer läsa våra instruktioner felaktigt. Det finns ett sätt att gå runt detta och det gör vi med ett så kallat escapetecken (\) som gör att vi talar om för PHP-tolken att detta tecken behöver du inte tolka utan bara skriv ut det.

<?php
	// escapetecken "\" gör att vi kan skriva ut tecknet "
	echo "Peter \"Foppa\" Forsberg";

	// Andra tillfällen då vi behöver använda escaptecken är när vi vill skriva ut
	echo "\'";			// ' - enkelfnutt

	echo "\\";			// / - backslash

	echo "\$";			// $ - dollartecken,

	echo "\n";			// \n - ger radbrytning i html-koden men inte på sidan.

	echo "\t";			// \t - ger tab i html-koden men inte på sidan.

	// beroende på om vi omringar strängen med enkel- eller dubbelfnutt
	// så behöver vi köra escapetecken på samma tecken inne i strängen.
?>

Att hantera escapetecken är inte helt enkelt eller speciellt naturligt så det behöver du troligtvis träna på.

Uppgift

  1. Skriv ut följande text;
    - Jag tycker det är ”kul” med PHP!
    - Nej, jag skojade bara!
    (dubbelfnutt (”) och radbrytning skall du göra med escapetecken. Radbrytningen skall både synas på sidan och i källkoden)

Strängfunktioner

Filmad genomgång strängfunktioner

Någonting som är väldigt användbart i PHP är den mängd av stringsfunktioner som finns tillhands. Att manipulera strängar är något du kommer behöva lära dig. Jag skall nu visa några av de som du har stört behov av att använda.

I exemplen nedan kommer det ibland finnas en alternativ funktion med prefixet mb_ vilket står för multibyte och dessa funktioner är särskilt anpassade för svenska tecken som å, ä och ö.

  • trim()
    Det finns flera användningsområden, men den vanliga är att ta bort whitespace (mellanslag och tab) i början och slutet av en sträng. Användbart när vi får data från ett formulär.
                $str = "  Steve Jobs   ";
                $str = trim($str);   // Lagras som "Steve Jobs"
  • strlen() || mb_strlen()
    Räknar antalet tecken i strängen.
    echo strlen($str);   // Skriver ut 10 (Steve Jobs)
  • strtoupper() || mb_strtoupper()
    Gör om strängen till enbart versaler.
    echo strtoupper($str);   // Skriver ut "STEVE JOBS"
  • strtolower() || mb_strtolower()
    Gör om strängen till enbart gemener.
    echo strtolower($str);   // Skriver ut "steve jobs"
  • strrev() || ingen mb_strrev, men funktion finns här.
    Vänder på strängen, extremt användbart!
    echo strrev($str);   // Skriver ut "sboJ evetS"
  • ucfirst() || ingen mb_ucfirst, men funktioner finns att hitta vid sökning
    Gör första bokstaven i strängen versal. Visar här med att första göra hela strängen till gemena bokstäver för att sedan göra första bokstaven versal. OBS! När det är flera funktioner i varandra så börjar vi längst in i den innersta parentesen.
    echo ucfirst(strtolower($str));   // Skriver ut "Steve jobs"
  • ucwords() || mb_convert_case
    På samma sätt som ovan så använder jag ucwords vilket gör första bokstaven i varje ord versal.
    echo ucwords(strtolower($str));   // Skriver ut "Steve Jobs"
  • stripos() || mb_stripos()
    Kollar om det du söker efter finns i strängen.
    echo stripos($str, "Steve");   // Skriver ut "0" då Steve börjar på position 0.
  • str_replace()
    Byter ut en del av strängen mot något annat.
    echo str_replace("Steve", "Kalle", $str);   // Skriver ut "Kalle Jobs"

Det finns många bra funktioner som vi kommer använda vid olika tillfällen. Det viktigaste är att vi vet hur principen är att använda dem och också var vi hittar instruktionerna om hur de används.
En bra sammanställning med tydliga exempel. Eller så går vi direkt till php.net och manualen för strängfunktioner.

Uppgift

  1. Skapa en variabel med innehållet ”WebbServerProgrammering 1”, du skall nu med olika strängfunktioner få fram, och skriva ut, olika strängar.
    1. 25 (längden på strängen)
    2. webbserverprogrammering 1 (bara gemener)
    3. WEBBSERVERPROGRAMMERING 1 (bara versaler)
    4. 1 gniremmargorprevresbbeW (första bokstaven stor, omvänd utskrift)
    5. Testa att ändra innehållet i strängen, använd en sträng som innehåller å, ä och/eller ö inne i strängen och inte först i strängen. Kontrollera att det fungerar som det skall, annars behöver du kika på multibytefunktionerna, alltså de som börjar med mb_.

Arrayer

Filmad genomgång

Jag hade velat spela in en egen film om arrayer men tiden fanns inte för tillfället. Denna filmen är bra så vi kör på den.

Array är en datatyp som är väldigt användbar inom programmering och någonting som du kommer använda ofta i php framförallt när vi senare jobbar med databaser. En array är en variabel som består av flera olika värden, du kan likställa den med en låda som har flera olika fack. I varje fack finns sedan ett innehåll som du kan använda dig av.
Tänk dig att en klass med 25 elever har haft ett prov och du skall sammanställa resultatet för alla 25 elever. Istället för att skapa 25 unika variabler, $resultat1, $resultat2 osv så skapar du en array med 25 komponenter, varje fack kallas för en komponent.
I PHP, till skillnad från felra andra programmeringsspråk, behöver du inte tala om när du skapar arrayen hur många komponenter som den skall innehålla.

Ge värde

Det finns olika sätt att ge arrayens komponenter olika värden. Jag ger ett kodexempel.

<?php
// När vi skapar en ny array kan vi ge den flera värden.
$resultat = array(12, 14, 15);

// När vi sedan vill lägga till flera värden måste vi skriva så här.
// Det går att skapa arrayen och ge den värden på detta sättet direkt.
$resultat[] = 16;

// Skriver ut alla värden i arrayen
echo "<pre>";
var_dump($resultat);
echo "</pre>";
?>
array(4) {
  [0]=>
  int(12)
  [1]=>
  int(14)
  [2]=>
  int(15)
  [3]=>
  int(16)
}

Index

Som du säkert noterar ovan så får varje komponent ett index. Anger du inget index så kommer de automatiskt att räknas från 0 och uppåt. Att numrera från 0 är klassiskt inom programmeringen.
Det går att skapa egna index om du vill, kanske används det för att göra en koppling till exempelvis riktnr.

<?php
// Här väljer jag att skriva index och värde på en rad, det går att
// skriva på samma sätt som tidigare men detta blir mer lättläst.
$riktnr = array(
   "031" => "Göteborg",
   "040" => "Malmö",
	 "07XX" => "Mobil",
	 "08" => "Stockholm"
 );

// Skriver ut alla värden i arrayen
echo "<pre>";
var_export($riktnr);			// var_export ger annan formattering
echo "</pre>";
?>
array (
  '031' => 'Göteborg',
  '040' => 'Malmö',
  '07XX' => 'Mobil',
  '08' => 'Stockholm',
)

Använda en komponents innehåll

Att använda en array är i stort sett som att använda vilken variabel som helst, den enda skillnaden är att du måste tala om namnet på arrayvariabeln och den komponents index som du vill använda.

<?php
$resultat = array(11, 12, 13, 14);

// Ändra innehållet i den fjärde komponenten, index 3.
$resultat[3] = 15;

// Skriver ut alla värden i arrayen
echo "<pre>";
var_export($resultat);
echo "</pre>";

// Skriver ut innehållet i den fjärde komponenten
echo "<p>$resultat[3]</p>";
?>
array (
  0 => 11,
  1 => 12,
  2 => 13,
  3 => 15,
)

15

Styrkan med Arrayer återkommer vi till senare när vi kan utföra en iteration (loop).

Resurser & länkar

Webbguider på svenska, Arrayer

Uppgift

  1. Skapa två arrayer med minst tre komponenter, i den ena lagrar du förnamn och i den andra lagrar du mailadresser. Se till att det finns lika många namn som mailadresser.
    Skriv sedan ut bägge arrayerna med hjälp av metoderna var_dump() eller var_export().
    Avsluta med att skriva ut en text som liknar "Anders har mailadressen info@anders.se" genom att skriva ut innehållet från bägge arrayerna med samma index.

CSource

Ett effektivt hjälpmedel för denna kursen, som du skall använda vid samtliga redovisningar. Hur det fungerar och används hittar du under Kunskap: Resurser.

Extrauppgift

Om du är klar med alla uppgifter och vill ha en större utmaning så kan du testa på extrauppgiften.

Du får här ett skal med vissa delar redan utskrivna, själva lösningen gör du i filen som du har kopierat ner och lagt lokalt hos dig.

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Extrauppgift</title>
</head>
<body>
	<h3>Extrauppgift</h3>
	<?php
	$s = "Programmering är \"kul\"";		// Strängen du skall jobba med
	$arr = array();											// Skapar en array

	//
	// Lös varje uppgift genom att skriva en (endast EN) rad kod och lagra svaret i arrayen.
	//

	// 1. Skriv ut strängen som vi jobbar med mellan dubbelfnuttar

	// 2. Lagra längden av strängen.

	// 3. Hämta positionen för det första mellanslaget

	// 4. Klipp ut allt fram till det första mellanslaget, använd funktionen ovan.

	// 5. I uppgiften ovan så plockade du ut första ordet, gör nu om det med stora
	// bokstäver och lägg tillbaka det i strängen. Löser du detta på en kodrad?
	// TIPS: Ta reda på vilken "huvudfunktionen" och jobba sedan med varje
	// delfunktion/argument i taget. Inget skall vara hårdkodat, hela
	// kodraden skall utgå från orginalsträngen.

	// 6. Ändra nu strängen på rad 10 till "Fotboll är den bästa sporten!"
	// och se till att alla uppgifter löses på rätt sätt.


	// denna loopen kör igenom hela arrayen och skriver ut den.
	// fundera på vad ++$index gör?
	foreach ($arr as $index => $row) {
		echo "<p>".++$index.". $row</p>";
	}
	?>
</body>
</html>

Extrauppgift

1. Strängen som vi jobbar med är: "Programmering är "kul"".

2. Längden på strängen är 23 tecken.

3. Strängens första mellanslag finns på position 13

4. Det första ordet är Programmering.

5. PROGRAMMERING är "kul"

Redovisning

Redovisa detta moment på följande sätt;

  1. Lägg upp dina övningar på din hemsida. Lägg dem på en sida med tydliga förklaringar eller skapa flera sidor med olika uppgifter. Viktigt att jag, och andra, kan gå mellan sidorna så vi inte missar något.
  2. Länka sidan/sidorna från din samlingssida.
  3. Länka också till CSource och se till att jag den vägen kan se all din kod.
  4. I wordpress så reflekterar du över ditt arbete, berätta vilka uppgifter du gjort och varför. Resonera kring om PHP är svårt eller enkelt och vad du har lärt dig samt vilka problem du eventuellt har haft. Länka också till den sidan, se sidorna, där dina exempeluppgifter finns.
    Frågestöd
    • Hur har arbetet med att lära sig grunderna i PHP gått?
    • Vilket annat programmeringsspråk, om något, känner du dig mest bekväm i? Jämför detta språk med PHP, likheter, skillnader, och en allmän känsla över att programmera i webbmiljö.
    • Vilka resurser har du använt dig av för att lära dig PHP? Någon av de som jag har länkat eller någon annan bra resurs? Har du tips på någon bra resurs så länka gärna denna.