Brugernavn:




Kodeord: Husk
Forside Forum Artikler Downloads Søg
 

Funktioner i PHP

Forord

Hejsa.
Her vil vi se på funktioner i Php. Det skal jo nok blive godt.

Hej alle nørder
Hej nørder og jer der tror i er nørder. I den her artikel, vil jeg vise og forklare hvordan man arbejder med Funktioner i Php, vi vil starte simpelt ud. Og gå til det mere avanceret. Så jeg synes da bare vi skal starte med det samme.

Krav til dig
Det er en nødvendighed, hvis du vil have noget ud af denne artikel. At du har en basis viden omkring Php. Det vil sige, Variabler og basis opsættelse.

Indholds fortegnelse:
1 -Hvad er en funktion
2 -Start op med funktioner
2.1 -Hej Verden i en funktion
3 -Variabler i funktioner
4 -Return i funktioner.
5 -Hvad kan det bruges til?
1 -Hvad er en funktion?
En funktion, er en slags klasse, som du kan indsætte dine script til. Funktionen vil så gemme din kode, og først spytte den ud, når du kalder den.
Det vil sige at du f.eks kan lave en funktion, der undersøger hvor mange "Credits" brugeren har i dit betalings system.
Så du bare skal kalde funktionen. Istedet for at Copy/paste dit Mysql query kode om og om igen. Smart ikke?

2 -Start op med funktioner
En funktion i php startes med at du opretter funtionen. Det gøres ved koden:
  1. <?php
  2. //Vi fortæller at vi gerne vil begynde at skrive Php

  3. Function navn() {
  4. //Vi opretter som vist før, vores funktion. Denne gang kalder vi den hej verden. bemærk vi stadig har () og tuborgklammen til at indikere vi åbner.

  5. //funktionens kode


  6. }

  7. //Vi vil gerne stoppe med at skrive Php
  8. ?>
Forklaring:
ved at bruge Function kaldet. Fortæller vi Php, at vi gerne vil starte en ny funktion.

Efter det, skriver vi navnet på funktionen. Dette bruger du til at kalde funktionen senere. som du kan se er der () ud for navnet, dette er til at gemme variabler i, som skal bruges i funktionen. Dette vil vi komme til senere.

Efter det, åbner vi ligesom ved if / ifelse / else kaldene en Tuborgklamme { Det er her vi skal skrive vores kode. Når vi kommer dertil. Når vi er færdige med vores kode, lukker vi igen, med en omvendt-tuborgklamme }

Nu har vi så lavet en funktion. Men hvordan kalder man den så? jo det er faktisk meget simpelt. det gør du såmænd bare ved at skrive funktionens navn ind. efterfulgt af de to parenteser og så et semikolon til at lukke. lad mig lige vise jer der:
  1. <?php
  2. //Vi fortæller at vi gerne vil begynde at skrive Php

  3. navn();
  4. //Vi kalder funktionen ved at skrive navnet på den. og lukker med semi colon.

  5. //Vi vil gerne stoppe med at skrive Php
  6. ?>

Sådan, nu har du lige kaldt den funktion vi oprettede før. lad os prøve at sætte hele koden sammen. Så i får hele billedet.


  1. <?php
  2. //Vi fortæller at vi gerne vil begynde at skrive Php
  3. Function navn() {

  4. //funktionens kode


  5. }

  6. navn();
  7. //Vi kalder funktionen ved at skrive navnet på den. og lukker med semi colon.

  8. //Vi vil gerne stoppe med at skrive Php
  9. ?>

Nemt ikke sandt?


2.1 -Hej verden i en funktion
Medmindre du er komplet retarderet eller bare lider af en stærk mental forstyrrelse, bør du nu have fanget basic viden om funktioner, hvad du bruger dem til, og hvordan du starter dem.

Nu skal vi så prøve at lave noget sjovt, vi vil prøve at få en funktion til at udskrive "Hej verden" til os.

Jeg vil løbende forklare i koden, dybere forklaring efter:
  1. <?php
  2. //Vi fortæller at vi gerne vil begynde at skrive Php

  3. Function hej_verden() {
  4. //Vi opretter som vist før, vores funktion. Denne gang kalder vi den hej verden. bemærk vi stadig har () og tuborgklammen til at indikere vi åbner.

  5. echo 'Hej verden!';
  6. //Vi beder om at få udskrevet Hej verden.

  7. }
  8. //Vi laver en omvendt tuborgklamme, for at vise at nu skriver vi ikke mere til funktionen.

  9. hej_verden();
  10. //Vi beder om at få kørt hej_verden funktionen.



  11. //Vi vil gerne stoppe med at skrive Php
  12. ?>
Forklaring
Som i kan se, gør vi det helt samme nu. som vi gjorde før. Den eneste forskel er at vi gav funktionen navnet Hej verden og lagde en echo ind i den, til at udskrive en tekst.

Efter vi har lukket funktionen, beder vi den kører funktionen. hvis du har oploadet dette stykke kode, til din server. vil du opdage at den skriver

Hej verden!

Ud på skærmen, hvis du slettede hej_verden(); ville dette ikke ske.


3 -Variabler i funktioner
Som i sikkert har bemærket, er det ikke meget vi har gjort endnu. Så hvad er der så smart ved funktioner?
Jo nu skal i hører. Man kan bruge variabler i dem, kører Mysql og cURL fra dem, du har faktisk begrænsede muligheder.
Nu vil vi kigge på variabler i funktioner. så spænd øjnene ud og følg med her:
  1. <?php
  2. //Vi fortæller at vi gerne vil begynde at skrive Php

  3. $besked_variabel = "Hej verden,";
  4. $besked_variabel2 = "Jeg elsker dig!";
  5. //Vi opretter to variabler med tekst i.

  6. Function hej_verden($tekst1,$tekst2) {
  7. //Vi opretter som vist før, vores funktion. Denne gang kalder vi den hej verden. bemærk at vi  har fyldt vores () ud med ($tekst1,$tekst2)

  8. echo  ''.$tekst1.' '.$tekst2.'';

  9. //Vi beder om at få variablerne $tekst1 og $tekst2 som vi har gemt i () ved variablens navn.

  10. }
  11. //Vi laver en omvendt tuborgklamme, for at vise at nu skriver vi ikke mere til funktionen.

  12. hej_verden($besked_variabel, $besked_variabel2);
  13. //Vi beder om at få kørt hej_verden funktionen. bemærk at vi sætter vores 2 allerede definerede variabler ind imellem ()



  14. //Vi vil gerne stoppe med at skrive Php
  15. ?>
Forklaring:
Uha, uha. Nu bliver det vel ikke for vildt? ej vel.
Som i nok har bemærket, har vi skiftet hulrummet ud imellem () med to variabel navne. Hvorfor dog det?

Det smarte ved funktioner, er at du kan bruge dets egne variabel navne MEN kun inden i funktionen. Alle variabler du skriver ind imellem ( ) kan du bruge inde i funktionen, med de navne du gav dem.
et eksempel kunne værer $navn, $alder,$penge

Inden i funktionen, bruger du nu disse variabel navne, og de vil udsende de data de får udleveret. Men, hvordan får de dem udleveret?

Joo. Når du kalder funktionen og siger "Hør mester, gider du ikke lige kører en gang". Så kan du sætte de data ind du vil bruge.
Som du kan se gjorde vi det da vi kaldte funktionen
hej_verden($besked_variabel1,$besked_variabel2);

Det data der er i $besked_variabel1 og $besked_variabel2 vil blive sat ind i funktionen, og kan bruges i funktionen med de navne du gav dem da du oprettede funktionen- så tilbage til vores navn, alder, penge eksempel. du kunne kører dem således:
funktion_navn("Allan petersen", "15 år", "1500 kroner");

Ja det er sgu smart..


4 -Return i funktioner
Når du nu har lært, at bruge variabler i funktioner. så skal du selfølgelig også lærer hvordan du bruger php's inbuild funktion "return();"

Return bruges til at retunere det der bliver smidt tilbage, når du har kørt funktionen, dette betyder du ikke behøvest skrive det ud med det samme, men kan gemme det i en variabel.
lad os lave et, med vores tidligere funktion:

  1. <?php
  2. //Vi fortæller at vi gerne vil begynde at skrive Php

  3. $besked_variabel = "Hej verden,";
  4. $besked_variabel2 = "Jeg elsker dig!";
  5. //Vi opretter to variabler med tekst i.

  6. Function hej_verden($tekst1,$tekst2) {
  7. //Vi opretter som vist før, vores funktion. Denne gang kalder vi den hej verden. bemærk at vi  har fyldt vores () ud med ($tekst1,$tekst2)

  8. return("".$tekst1." ".$tekst2."");

  9. //Vi beder om at få variablerne $tekst1 og $tekst2 som vi har gemt i () ved variablens navn. returneret til kalderen af funktionen.

  10. }
  11. //Vi laver en omvendt tuborgklamme, for at vise at nu skriver vi ikke mere til funktionen.

  12. $tekst_tibage = hej_verden($besked_variabel, $besked_variabel2);
  13. //Vi beder om at få kørt hej_verden funktionen. i en variabel. det tekst, der kører igennem return, inde i funktionen. vil blive gemt i variablen.

  14. echo $tekst_tilbage;
  15. //Vi beder om at udskrive den returnerede streng fra funktionen.


  16. //Vi vil gerne stoppe med at skrive Php
  17. ?>
Forklaring
som i kan se, har vi ikke lavet ret meget om. Den eneste markante forskel er return("".$tekst1." ".$tekst2."");

Som jeg fortalte før, bruger du det til at returnere et svar, udenfor funktionen.
Som du kan se længere nede i koden, har jeg sat en variabel $tekst_tilbage til at kører funktionen. DET tekst der bliver kørt ind i return(""); Vil nu blive hentet i denne variabel.

Og som du kan se, beder jeg dem så om at skrive variablen ud.

5 -Hvad kan det bruges til?
Nu spørger du sikkert dig selv.HVAD kan det bruges til?. Derfor har jeg valgt at smide nogle eksempler til dig. Uden forklaring, da du gerne bør have forstået konceptet bag funktioner nu.

Mysql query i en funktion
  1. <?php
  2. function sql_hent_een($query)  
  3. {  
  4. $een=mysql_query($query) or die(mysql_error());  
  5. $row=mysql_fetch_row($een) or die(mysql_error());  
  6. return($row[0]);  
  7. }  

  8. $credits = sql_hent_een("SELECT credit FROM brugere WHERE id='12'");

  9. echo 'Du har '.$credits.' Credits tilbage!';


  10. ?>

Forms i en funktion
  1. <?php
  2. function vis_form($form_id) {
  3. switch ($form_id) {
  4.     case 0:
  5.         echo '<form action="send_post.php" method="post" name="post_sender">
  6. <label for="modtager_form">Til:</label>
  7. <input type="text" name="modtager_form"><br>
  8. Din besked:<br>
  9. <textarea name="besked" rows="20" cols="20"></textarea><br>
  10. <br>
  11. <input type="submit" value="send!" name="submit">
  12. ';
  13.         break;
  14.     case 1:
  15.                 echo '<form action="send_tagwall.php" method="post" name="post_sender">
  16. Din besked til væggen:<br>
  17. <textarea name="besked" rows="20" cols="20"></textarea><br>
  18. <br>
  19. <input type="submit" value="Post på væggen" name="submit">
  20. ';
  21.         break;

  22. }
  23. echo 'Send et brev:<br>';
  24. vis_form("0");
  25. echo '<br>Post på væggen:<br>';
  26. vis_form("1");
  27. ?>

Hashing i en funktion
  1. <?php
  2. function hash($string) {
  3. $string = md5($string);
  4. $string = md5($string);

  5. return($string);
  6. }

  7. $password_efter_hash = hash($password);

  8. echo 'Dit hashede password: '.$password_efter_hash.' Hvorfor så mange tal når det bør værer skæv?';

  9. ?>

Konklusion
Som i kan se, er der uendelige muligheder for at bruge funktioner. Det er bare fantasien der skal værer der.

Mange tak fordi i gad at læse, og sørg nu for at give godt med rating hvis i kan lide den.

The-Freak.

Oprettet af:

PHP

Point modtaget: 150

Rate:
19:01 18/03/2009

Kommentarer

Giv din mening tilkende om denne artikel, eller læs andres.
Har du spørgsmål eller brug for hjælp til denne artikel henvises du til forummet.
Det ser meget fornuftigt ud. Godt arbejde!

3 -Variabler i funktioner
Som i sikkert har bemærket, er det ikke meget vi har gjort endnu. Så hvad er der så smart ved funktioner?
Jo nu skal i hører. Man kan bruge variabler i dem, kører Mysql og cURL fra dem, du har faktisk begrænsede muligheder.
Nu vil vi kigge på variabler i funktioner. så spænd øjnene ud og følg med her:
Du har faktisk begrænsede muligheder. - Mangler der ikke lige et u ? :b

Oprettet af:
  Mail
17:02 19/03/2009
Argh jo det gjorde der vidst, du ved :D det ikke altid nemt haha-
Oprettet af:
  Mail
00:04 20/03/2009
  1. $tekst_tibage = hej_verden($besked_variabel, $besked_variabel2);
  2. echo $tekst_tilbage;
Kan forkortes til
  • print $hej_verden("Besked 1", "Besked 2");
Bare lige en indvending :D
Men ellers god artikel 4/5.
Oprettet af:
  Mail
20:19 20/03/2009
Nice artikel. Jeg syntes du forklarer godt, men jeg fatter ikke det der return(); :P 5/5
Oprettet af:
  Mail
21:22 20/03/2009
Hachord.
Ved godt den kan forkortes. men hele planen i at vise lige precis den del af koden, er for at de kan få et indblik i hvordan det kan bruges.
F.eks
$credit = get_credits($userid);
$price = $get_price($productnumber, $quant);

if($price >= $credit) {
print 'Du har kun '.$credit.' Credits tilbage, og kan derfor ikke købe et produkt af '.$price.' Credits.';
print '<br>';
}
else {
$rcredit = $credit - $price;
update_credit($userid,$buyeremail,$rcredit);
print 'Din ordre er gennemført';
}

U see what i mean?
Oprettet af:
  Mail
21:31 20/03/2009
Ved godt hvad du mener, sagde også det bare var en indvending.
Oprettet af:
  Mail
21:27 21/03/2009
Fin artikel.

Du stiller godt nok krav til os, fx Basis php. Derfor får jeg lidt spat af du kommentere koden ved at skrive i start og slut "// Fortæller vi gerne vil skrive php" ex.
Oprettet af:
  Mail
00:56 10/04/2009
Forstod heller ikke det med return.. Men forstod godt alt det andet:P
Oprettet af:
  Mail
07:58 03/11/2009
Du skal være oprettet og logget ind for at kommentere en artikel
Copyright © Rowl.dk v/ Michael Raagaard | 2005-10 | Alle rettigheder forbeholdes