2: PHP basics

In deze instructie

De Php syntax

Je kan php code overal in een html pagina plaatsen. Je doet dit door eerst een tag te openen met een vraag teken en dan php daar tussen schrijf je allemaal code en deze sluit je weer af met vraagteken en zo'n pijltje, zie onder:

<?php 
	echo "dit is een <H1>voorbeeld</H1>";
	print "dit is een <H1>voorbeeld</H1>";
?>

Wat is het verschil tussen de syntax van Javascript en PHP ? Als je met behulp van javascript iets op het scherm wil krijgen gebruik je document.write(). In PHP kan dit op verschillende manieren maar de meest gebruikte manier is wel echo. Zie bovenstaand voorbeeld. Je schrijft echo met daarachter tussen twee accolades de tekst. LETOP: Hier komen dus geen haakjes bij kijken! Ander belangrijk punt is de punt komma aan het einde van een instructie. Zonder deze ";" geeft php fout meldingen.

Commentaar

Zoals ook in javascript is het handig als je wat uitleg tussen de code regels door kan typen, dit werkt het zelfde in PHP <?php

	
	//Hier dan wat commentaar
	/*
	Hier zijn een paar
	regels met tekst tot commentaar
	gemaakt.
	*/
	# ander commentaar
?>

Variable

Als je een variabele wil aanmaken dan doe je dat door er een dollarteken voor te plaatsen, zie voorbeeld:

<?php 
	$mijnVar = 3;
	echo $mijnVar;
?> 

mijnVar hoeft na de echo nu niet tussen dubbele aanhalingstekens omdat mijnVar een variabele is. Twee variabelen optellen gaat ook iets anders, in PHP gebruik je bij combineren van tekst in plaats van een plus een punt.

<?php 
	$txt1="Dit is een verhaaltje"; 
	$txt2="1234"; 
	echo $txt1 . " " . $txt2 ; 
?> 

Array

Arrays is wel een ander verhaal, omdat php gemaakt is om te werken formulieren en databases zijn arrays heel erg belangrijk. Een array zou je kunnen zien als een mini database. Het gevolg is dat php ontzettend veel dingen met arrays kan. De bovenstaande loops zijn ook niet de enige wijze waarop je met loops kan werken. Maar zijn voldoende kennis om de dingen te maken die je zou willen maken, hieronder een voorbeeld van een array, je ziet het is niet echt anders:

Indexed arrays

Net als JavaScript kent PHP ook indexed arrays. Elke waarde in een array heeft een index nummer. Deze index begint altijd bij 0! Van de onderstaande array, zijn de index nummers als volgt:

	friends = new Array ('Clark', 'Lois', 'Zorro');
	Index   	Value
	------------------------
	0       	Clark
	1      		Lois
	2       	Zorro

Je kunt een waarde uitlezen door te refereren naar het index-nummer. Dit index nummer plaats je tussen rechte haken.

	$friends = array (
		'Clark', 
		'Lois', 
		'Zorro'
	);
	
	echo $friends[0]; // Will return: Clark
	echo $friends[2]; // Will return: Zorro

Associative arrays

PHP kent naast indexed ook associative arrays. Elke waarde in een array heeft een 'sleutel' (key). Deze sleutel is een string en je kunt zelf bepalen hoe deze sleutel is samengesteld. Van de onderstaande array, is de index nummers als volgt:

	$friends = array ('superman' => 'Clark Kent', 'spiderman' => 'peter', 'batman' => 'tja');
	
	Key          Value
	------------------------
	superman     Clark
	spiderman    Peter 
	batman		 
	hulk    	 dr Banner

Je kunt een waarde uitlezen door te refereren naar de sleutel. Deze sleutel plaats je als string tussen rechte haken.

	$friends = array (
		'superman' => 'Clark',
		'spiderman' => 'Peter',
		'batman' => 'boe'
	);	
	echo $friends['superman']; // Will return: Clark

Maar zoals ik bij javascript nog een aantal functies heb genoemd die je in combinatie met js kan gebruiken, php kent er nog veel meer. Opmerkelijk is dat .length niet werkt in php. In dat geval doe je het volgende: $count = count ( $array ); Daarnaast kan je uitgebreider met een array omgaan, maar omdat ik die niet wil introduceren kan je als je geintereseerd bent, deze bekijken op php.net via de onderstaande link: http://nl3.php.net/manual/en/language.types.array.php

If / else constructs

Een conditional statement werkt op dezelfde manier als in javascript. (conditional statement is if / else ) Bij PHP is het echter heel erg belangrijk dat je de puntcomma aan het einde niet vergeet! Wanneer je dat wel doet, krijgt je een foutmelding.

<?php 
	$mijnVar = 3;
	if ($mijnVar == 4) {
	  echo $mijnVar;
	}  
?>

Loops

Ook loops werken hetzelfde als in javascript, met als enig verschil dat er nu voor elke variabele een dollarteken staat:

for

De syntax voor de for en while-loop is hetzelfde als in JavaScript.

// Syntax
<?php 
	for ([initialization]; [condition]; [increment]){
		[code to be executed];
	}
?>
// Example
<?php 
	for ($counter = 0 ; $counter < 10; $counter){
		echo $counter . '<br/>';
	}
?>

foreach

// Syntax
for ([array] as [value]){
	[code to be executed];
}

// Syntax (for associative arrays)
for ([array] as [key] => [value]){
	[code to be executed];
}

<?php 
	//Example (for indexed arrays)
	$friends = array (
		'Clark',
		'Lois',
		'Zorro'
	);
	foreach ($friends as $value) {
	    echo $value;
	}

	//Example (for associative arrays)
	$friends = array (
		'superman' => 'Clark',
		'spiderman' => 'Peter',
		'superman' => 'Boe'
	);

	foreach ($friends as $key => $value) {
		// Print the values of the array, 
		//and the keys!
		echo $key . ': ' . $value . '<br/>';
	}
?>

while

while ([condition]){
	[code to be executed];
}