Php
Arithmetic Operators – Matematiske udtryk
Læs mere her.
- + Addition
- – Subtraction
- * Multiplication
- / Division
- % Modulus (rest ved division)
array_pop()
array_pop() fjerne sidste værdi i et array()
$ids = [10, 22, 15, 45, 67];
array_pop($ids);
Resultat = 10,22,15,45
array_push()
At tilføje data til et array()
$ids = [10, 22, 15, 45, 67];
array_push($ids, 100);
Resultat = 10,22,15,45,67,100
(100 bliver tilføjet til sidst)
array_reverse()
Med array_reverse() vender du rækkefølgen om.
$colors = ['red', 'blue', 'green', 'yellow'];
$colors_rev = array_reverse($colors);
print_r($colors_rev);
Array
(
[0] => yellow
[1] => green
[2] => blue
[3] => red
)
array_search()
Med array_search() kan du finde index på det du søger.
$navne = ['Jens', 'Birthe', 'Ole'];
$output = 'Birthe har index : ' . array_search('Birthe', $navne) . ' et array kaldet $navne';
Hvis vi printer $output
vil der vises:
Birthe har index : 1 et array kaldet $navne
NB!
Det første index i et array er = 0
array_shift()
array_shift() fjerne den første værdi i et array()
$ids = [10, 22, 15, 45, 67];
array_shift($ids);
Resultat = 22,15,45,67
array_slice()
Med array_slice() kan du tage en del af et eksisterende array og med den data lave et nyt array.
$ids = [10, 22, 15, 45, 67];
Hvis jeg vil lave et nyt array, som vi kalder $ids2 med tallene 15 og 45 kan jeg:
$ids2 = array_slice($ids, 2, 2);
De 3 parametre fra array_slice er ("hvilket array skal jeg tage data fra", "på hvilket ID skal jeg begynde", "hvor langt skal jeg gå")
array_splice()
Med array_splice() kan du udskifte en værdi i et array.
$ids = [10, 22, 15, 45, 67];
Vi udskifter tallet 22 med tallet 1000
array_splice($ids, 1, 1, 1000);
I array_splice($ids, 1, 1, 1000);
betyder det første 1, at vi begynder ved index 1, her indsætter vi tallet 1000.
Det næste 1 betyder, at vi skal fjerne 1 index under det vi lige har indsat.
På den måde fjerne vi tallet 22.
Havde der stået 2 array_splice($ids, 1, 2, 1000);
ville både tallet 22 og 15 blive fjernet!
array_sum()
array_sum() lægger alle værdierne sammen som findes i et array.
$tal = [10, 20, 20];
array_sum($tal);
Resultat: 50
array_unshift()
array_unshift() vil tilføje en værdi først i et array()
$ids = [10, 22, 15, 45, 67];
array_unshift($ids, 100);
Resultat = 100,10,22,15,45,67
(100 er tilføjet først)
Arrays
To måder at skrive et array()
på:
$navne = array('Markus', 'Thit', 'Ida');
$navne = ['Markus', 'Thit', 'Ida'];
For at skrive "Thit" på skærmen kan vi:
echo $navne[1];
var_dump($navne);
Kan benyttes for dig som PHP programmør til at udskrive info omkrig dit array()
Så var_dump($navne);
giver følgende:
array(3) { [0]=> string(6) "Markus" [1]=> string(4) "Thit" [2]=> string(3) "Ida" }
Vil du have det mere læseligt på skærmen, kan du benytte <pre> ...</pre>
.
echo '';
var_dump($navne);
echo '
';
... eller benytte en function() til fast at vise dine var_dump()
function dump($value) {
echo '';
var_dump($value);
echo '
';
}
dump($navne);
Tilføje til et Array()
$tal =['1','2','3'];
$tal[] = 4;
Nu har dit Array() værdierne: 1,2,3,4
Ændre værdi i et Array()
$tal =[1, 2, 3];
$tal[1] = 6;
Resultat = 1,6,3 (tallet 2 er udskiftet med tallet 6)
Fjerne en værdi
Du kan fjerne 1 tallet ved unset($tal[0]);
Assignment operator
Læs mere her.
$num = 10;
$num += 20;
Resultat = 30
Det samme som $num = $num + 20;
$num = 10;
$num -= 20;
Resultat = -10
$num = 10;
$num /= 20;
Resultat = 0,5
Associative Arrays
Et associative array i PHP er en datastruktur, hvor hver værdi er knyttet til en nøgle … et ord!
(I stedet for en numerisk indeks).
Nøglerne i et associative array kan være en string, hvilket gør det muligt at få adgang til værdier ved hjælp af meningsfulde navne i stedet for tal.
$user = [
'forNavn' => 'Morten',
'efterNavn' => 'Andersen',
'instrument' => ['guitar', 'bas']
];
Vi opretter her 3 forskellige $output som vi kan echo ...
$output = 'Fornavnet er: ' . $user['forNavn'];
$output = 'Efternavnet er: ' . $user['efterNavn'];
$output = 'Instrument: ' . $user['instrument'][0];
echo $output;
Første resultat vil være: "Fornavnet er: Morten"
Andet resultat vil være: "Efternavnet er: Andersen"
Ved tredje ... den med instrument vil resultatet være: "guitar"
Hvis det havde været $user['instrument'][1]
ville det være: "bas"
count()
Som et eksempel tæller vi antallet af data i et Array med navet ids
$ids = [10, 22, 15,45,67];
count($ids);
Resultat = 5
Data Types
String: Bogstaver, tal eller tegn der skal angives imellem ‘…’ eller “…”
Integer: Hele tal som er positive eller negative
(skal ikke angives imellem anførselstegn, da det så er en string!)
Float: Decimaltal (der benyttes . (punktum) ikke , (komma))
Boolean: True eller False
Array: kan indeholde flere værdier
Object:
Null: En Variable med ingen værdi
Resource: Eksempelvis en ekstern fil
Date()
'Y'
= år'm'
= måned'd'
= dag (1-31)'D'
= dag kort navn'l'
= dagens fulde navn'h'
= timer (12)'H'
= timer (24)'i'
= minutter's'
= sekunder'a'
= AM/PM
date_default_timezone_set('Europe/Copenhagen');
$output = date('H:i');
Resultat timer:minutter lige nu i danmark
Læs mere her.
Echo
= 'Her er en kortere måde at skrive på' ?>
= 'Her er der tilføjet HTML elmenterne H2
' ?>
Man kan opdele echo
med komme (,) for at vise flere elementer:
Resultat:
MortenAndersen
(Uden mellemrum!)
Det kan man IKKE med print
!
explode()
Med explode() kan du ændre en string (tekst) til et array
$instrumenter = 'guitar,bas,trommer';
$instrumneter_array = explode(',', $instrumenter);
For at printe det på skærmen kan vi var_dump($instrumneter_array);
Resultat:
array(3) { [0]=> string(6) "guitar" [1]=> string(3) "bas" [2]=> string(7) "trommer" }
For Loop
Et for
-loop i PHP bruges til at gentage en blok af kode et bestemt antal gange.
for (initialisering; betingelse; opdatering) {
// Kode der skal gentages
}
- initialisering: Her angives en startværdi for en variabel, som ofte bruges til at tælle antallet af gennemløb.
- betingelse: Dette er den betingelse, der skal være sand for at loopen fortsætter. Hvis betingelsen bliver falsk, stopper loopen.
- opdatering: Efter hver gennemløb af koden opdateres variablen (f.eks. øges med 1).
Her printer vi tallene 0 til og med 10:
for($i = 0; $i <= 10; $i++) {
echo $i . '
';
}
<br />
er kun for at skifte linje så talene står nedad på skærmen!
Her en simpel måde at skrive det op i en HTML liste:
echo ' ';
for ($i = 0; $i <= 10; $i++) :
echo '- Nummer:' . $i . '
';
endfor;
echo '
';
implode()
Med implode() kan du ændre et array til en string
$navne = ['Jens', 'Birthe', 'Oles'];
$output = implode(', ', $navne);
Hvis vi nu printer (echo) $output vil vi få:
Jens, Birthe, Oles
in_array()
Giver et Boolean værdi (true / false)
$navne = ['Jens', 'Birthe', 'Ole'];
var_dump(in_array('Ole', $navne));
Her er resultatet true da Ole findes i et array der hedder $navne
if(in_array('Ole', $navne)){
$output = 'Ole findes';
} else {
$output = 'Ole er ikke mere!';
}
Multi-Dimensional Arrays
Multi-Dimensional Arrays i PHP er arrays, der indeholder andre arrays som deres elementer.
Dette gør det muligt at oprette tabeller af data.
Eksempelvis en tabel med rækker og kolonner, hvor hver række er et array.
Du kan få adgang til elementerne i et multidimensionel array ved at bruge flere indekser, f.eks. $array[række][kolonne]
.
$frugter = [
['Æbel', 'Grøn'],
['Appelsin', 'Orange'],
['Banan', 'Gul']
];
For at echo
ordet "Gul" som kommer fra "Banan-array" skal vi skrive:
echo $frugter[2][1];
[2] = Banan og i "Banan-array" har "Gul" index = 1
Et eksempel med associative array
$users = [
['forNavn' => 'Morten', 'efterNavn' => 'Andersen', 'hobby' => 'At mixe musik'],
['forNavn' => 'Lise', 'efterNavn' => 'Hansen', 'hobby' => 'At spille blokfløjte'],
['forNavn' => 'Tina', 'efterNavn' => 'Jensen', 'hobby' => 'At strikke i uld']
];
Hvis vi vil echo
Lises hobby skal vi:
echo $users[1]['hobby'];
sort()
Vi kan sortere indholdet i et array() vi sort()
$ids = [10, 22, 15, 45, 67];
sort($ids);
Her vil vi nu få tallene i den "rigtige" rækkefølge:
10,15,22,45,67
(15 og 22 har bytte plads!)
Vi kan benytte rsort()
til at vende rækkefølgen om, så den største værdi kommer først.
String Concatenation
$fornavn = 'Morten';
$efternavn = 'Andersen';
$navn = $fornavn . ' ' . $efternavn;
echo 'Mit navn er: ' . $navn;
En løsning med det almindelige anførselstegn.
echo "Mit navn er: $navn";
Resultat: Mit navn er: Morten Andersen
Læs mere her
Tal funktioner
rand()
viser et tilfældigt tal
$output = rand(1, 10);
et tilfældigt tal imellem 1 og 10
round(3.7)
= 4 (runder op eller ned)
ceil(4.2)
= 5 (runder altid op)
floor(7.8)
= 7 (runder altid ned)
sqrt(16)
= 4 (kvadratroden af 16)
pi()
= pi
abs(-3.7)
= 3,7 (absolut værdi … positiv)
max(1, 4, 12, 50)
= 50 (max værdien)
min(1, 4, 12, 50)
= 1 (min værdien)
number_format(27375.750, 2, ',', '.')
= 27.375,75
Først det givne tal, derefter antallet af decimaler (2), derefter tegnet der skal benyttes foran decimalerne (komma) og til sidst angiver vi tusindtals separator som her er punktum.
Tekst (string) funktioner
$string = 'Morten Andersen';
strlen($string)
= 15 (15 tegn … og mellemrum)
str_word_count($string)
= 2 ord
strpos($string, 'Andersen')
= 7 (Andersen begynder på det 7 tegn ud af de 15 i alt)
$string[7]
= A (tegn nr. 7)
substr($string, 7, 3)
= And (Begynd ved tegn nr. 7 og vis 3 tegn derfra)
str_replace('Morten', 'Sus', $string)
= Sus Andersen … min kone 😉 (Find “Morten” og udskift det med “Sus”)
strtolower($string)
= morten andersen (Små bogstaver)
strtoupper($string)
= MORTEN ANDERSEN (kun store bogstaver)
ucwords($string)
= Morten Andersen (stort begyndelsesbogstav)
trim(' Her er IKKE tomme tegn først i sætningen')
Type Casting & Juggling
$number1 = 5;
$number2 = 10;
$number3 = '20';
$result = $number1 + $number2;
var_dump($result);
Resultat af dump: int(15)
String to int conversion.
$result = $number1 + $number3;
var_dump($result);
Resultat af dump: int(25)$number3
er jo en string (tekst) og ikke et tal, men PHP ændre teksten '20' til tallet 20
String Concatenation
$resultat = $number1 . $number2;
var_dump($result);
Resultat: string(3) "510"
Explicit Conversion
$resulat = (string) $number1;
var_dump($resulat);
Resultat: string(1) "5"
Variables
Læs mere her
Definition: I PHP er variabler symboler, der bruges til at gemme data, og som kan ændres under programmets kørsel.
$navn = 'Morten Andersen';
Her $navn
en variabel og mit navn er en string
- Starter altid med
$
-tegnet efterfulgt af et navn, fx$navn
. - Er case-sensitive, så
$navn
og$Navn
er forskellige variabler. - Kan indeholde forskellige typer data, som tal, strenge, arrays eller objekter.
- Bliver oprettet, når de tildeles en værdi, fx
$alder = 25;
.