Archief - PHP: Function vraag

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

azerty_2006

Legacy Member
Hey.

Ik ben nog steeds bezig met PHP aan het leren.
Nu ben ik bezig met het leren hoe "function" werkt.
'K begrijp het redelijk maar ik zit met een kleine vraag hierover.

Na er wat over te lezen heb ik klein test scriptje gemaakt om te zien
of het werkt en ik het begrijp.

Dit is het scriptje:
PHP:
<?php
function example() {
	$name = "hyperz";
	$var = array("md5" => md5($name));
	echo ("The md5 hash of ".$name." is: ".$var["md5"]." .");
	}

example();
?>

Dit krijg je dan natuurlijk op het scherm getoverd:
Code:
The md5 hash of hyperz is: 347db4648ab2e76bb13fd47b0c53e389 .

Nu, dit is niet zo moeilijk enzo.
Maar wat ik me afvraag is waarvoor is die "()" handig achter mijn function?
Het zou maar raar zijn moest het daar staan voor de looks :unsure:.

Zou iemand me dit kunnen uitleggen (eventueel met een voorbeeld scriptje)?
Alvast bedankt.

Cakeman

Legacy Member
Tussen de haakjes kan je parameters declareren. Die parameters kunnen binnen je functie aangesproken worden.
PHP:
<?php
function example($name)
{
    echo ("The md5 hash of '" . $name . "' is: " . md5($name) . ".");
}

example("hyperz");
example("andere test");
?>

Code:
The md5 hash of 'hyperz' is: 347db4648ab2e76bb13fd47b0c53e389.
The md5 hash of 'andere test' is: 347db4648ab2e76bb13fd47b0c53b755.

frenzal

Legacy Member
dat is om parameters mee te geven. Een beter voorbeeld zou zijn:

function example($name="hyperz") {
$var = array("md5" => md5($name));
echo ("The md5 hash of ".$name." is: ".$var["md5"]." .");
}

example(); -> Geen parameter mee gegevens en zal de standaard waarde gebruiken ("hyperz")

Je kan ook een ander woord mee geven nu:
example("blah"); -> The md5 hash of blah is: ....

Je moet geen standaard waarde geven aan uw parameter maar is vaak handig.

function example($name){ ... kan dus ook

edit: lap, too slow :)

azerty_2006

Legacy Member
Aha ja nu word het duidelijk.
Had nog niet zo ver gedacht :p.

Bedankt heren ;).

Edit: ik neem aan dat dit dan ook een toegelaten is? :
PHP:
<?php
function example($name, $name1) {
	echo ("name one is ".$name." and name two is ".$name1." .");
	}

example(hyperz, paul);
?>

killgore

Legacy Member
neen, want je hebt geen " gezet rond de strings:

example("hyperz","paul"); is wat jij wilt :p.

azerty_2006

Legacy Member
frenzal zei:
zou het niet sneller zijn om gewoon even te proberen? :)

Mjah, heb ik ook gedaan en gezien dat het werkte :).
Maar het kon zijn dat dit een verkeerde manier van werken was en er
betere manieren waren.

neen, want je hebt geen " gezet rond de strings:

example("hyperz","paul"); is wat jij wilt .:p

Idd, dat is de correcte manier maar het werkt zo te zien ook zonder :).

killgore

Legacy Member
azerty_2006 zei:
Idd, dat is de correcte manier maar het werkt zo te zien ook zonder :).
zet eens vanboven:
error_reporting(E_ALL);

en kom dan nog eens zeggen dat het nog werkt :p?

Het is foute code, en foute code is slechte code en slechte code wil je niet leren ;).

azerty_2006

Legacy Member
killgore zei:
Het is foute code, en foute code is slechte code en slechte code wil je niet leren ;).

Ik was gewoon aan het testen eh. Moest ik een script maken om effectief te gaan gebruiken zou ik wel de correcte manier hanteren hoor :p.

killgore

Legacy Member
azerty_2006 zei:
Ik was gewoon aan het testen eh. Moest ik een script maken om effectief te gaan gebruiken zou ik wel de correcte manier hanteren hoor :p.

Geloof me vrij: let altijd op correcte code, want als je tijdens het prutsen en testen het fout aan leert is het een immense merde om je coding-manier weer in orde te brengen.

azerty_2006

Legacy Member
En dat besef ik hoor.
Ik weet redelijk goed wanneer iets tussen quotes moet en wanneer niet.
Ik was gewoon een beetje te snel met copy pasten hehe.
Nog voor je de opmerking maakte had ik het al aangepast in notepad++ :).

Maar het is natuurlijk wel goed dat je hier op wijst ;).

TiZon

Legacy Member
Azerty: Hoe leer je PHP, met een boek, of mss een site ?

(gewoon nieuwsgierig)

azerty_2006

Legacy Member
TiZon zei:
Azerty: Hoe leer je PHP, met een boek, of mss een site ?

(gewoon nieuwsgierig)

Net dezelfde vraag die ik stelde toen ik hier een paar mensen hun eerste werk zag posten :p.

Ik neem aan dat je al wat (x)html kennis hebt.

Hier heb ik veel geleerd (video tutorials): http://www.killerphp.com/
Nadat je deze hebt bekeken kan je ook hier eens gaan kijken (minder duidelijke tutorials maar nog steeds leerzaam): http://www.phpvideotutorials.com/

Dit zal je al aardig op weg helpen.
Er is daarna nog altijd google en natuurlijk forums.

TiZon

Legacy Member
ik script al redelijk wat in vb en vb.net, dus ik snap de logica er achter maar al te goed..
sites zijn zeer hulpvol; bedankt!
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan