/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
function?
Fra : RuneStone


Dato : 11-01-04 14:13

<?
function liv($a, $b, $c){
echo "$a, $b, $c";
}
liv("Snegle" "Spiser" "Fisk");
?>

hvorfor er det lige at man ikke bare skriver:
echo "Snegle Spiser Fisk";

nogle der kan vise mig et mere "brugbart" eks. med funktion?

mvh. Rune Thougaard
--
www.rtk-design.dk || www.vinperlen.dk



 
 
Tonni Aagesen (11-01-2004)
Kommentar
Fra : Tonni Aagesen


Dato : 11-01-04 14:31

RuneStone wrote:

> nogle der kan vise mig et mere "brugbart" eks. med funktion?

Utestet:

function replace_cursing($str) {

   $pat = array("fandme","satan");
   $rep = array("sørme","pokker");
   return preg_replace($pat, $rep, $str);
}

echo replace_cursing("For satan osse, nu må det fandme høre op!");


Mvh
Tonni

Bertel Lund Hansen (11-01-2004)
Kommentar
Fra : Bertel Lund Hansen


Dato : 11-01-04 14:40

RuneStone skrev:

><?
>function liv($a, $b, $c){
> echo "$a, $b, $c";
>}
>liv("Snegle" "Spiser" "Fisk");
>?>

>hvorfor er det lige at man ikke bare skriver:
>echo "Snegle Spiser Fisk";

Hvis det er det eneste funktionen skal gøre, så er det også langt bedre.

Her er en funktion som jeg bruger i et program (skrevet hastigt om fra C):

<?
function error ($type, $info) {
switch ($type) {
case 1: print ("Filen $info blev ikke fundet.\n"); break;
case 2: print ("$info er nået!\n\n"); break;
case 3: print ("$info\nDer mangler et anførselstegn!\n"); break;
}
}
?>

Den funktion skal tage sig af alle de fejl der kan opstå når programmet
kører. Det gør det let at lave en ensartet udskrift, og let senere at ændre
den hvis der skulle blive behov for det. C-funktionen lukker faktisk også
nogle filer ned, afbryder programmet og returnerer en kode.

>nogle der kan vise mig et mere "brugbart" eks. med funktion?

<?
function fakultet ($tal) {
if ($tal<1) return 1;
return $tal*fakultet($tal-1);
}

// Main:
print fakultet(4);
print "\n";
print fakultet(7);
?>

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Thomas Lindgaard (11-01-2004)
Kommentar
Fra : Thomas Lindgaard


Dato : 11-01-04 14:52

On Sun, 11 Jan 2004 14:13:04 +0100, RuneStone wrote:

> <?
> function liv($a, $b, $c){
> echo "$a, $b, $c";
> }
> liv("Snegle" "Spiser" "Fisk");
> ?>
>
> hvorfor er det lige at man ikke bare skriver:
> echo "Snegle Spiser Fisk";

Det ville man også gøre hvis funktionen ikke skulle gøre andet end at
skrive sine parametre ud.

> nogle der kan vise mig et mere "brugbart" eks. med funktion?

F.eks.: Spammere laver små programmer som henter hjemmesider ned og
trækker emailadresser ud, så de har nogle adresser at sende deres gode
tilbud til. Derfor kan det være en god ide ikke at skrive sin
emailadresse i klar tekst på hjemmesider.

Følgende funktion tager en emailadresse som input og laver den om til
tegnkoder:

<?php
/**
* Convert string to char codes.
*/
function obfuscate($string)
{
$obfuscated = '';
for ($i = 0; $i < strlen($string); $i++)
{
$obfuscated .= '&#'.ord($string[$i]).';';
}
return $obfuscated;
}
?>

obfuscate('dette.er@en.email.adresse') =
&#100;&#101;&#116;&#116;&#101;&#46;&#101;&#114;&#64;&#101;&#110;&#46;&#101;&#109;&#97;&#105;&#108;&#46;&#97;&#100;&#114;&#101;&#115;&#115;&#101;

Det er nu noget nemmere at 'kode' en række emailadresser end hvis man
skulle skrive hele skidtet hver gang. Funktioner kan være vilkårligt
komplekse og vilkårligt lange, og hvis der er en eller anden ting som
enten skal gøres mange gange på en side eller på mange forskellige
sider, så kan det altid betale sig at skrive en funktion, som man bare
kan kalde.

Dine spørgsmål her i gruppen peger i retning af at du ville have
glæde af at læse et lille hæfte om programmering - prøv evt. at læse
et IDG-hæfte om PHP for at komme de basale ting (både
programmeringsmæssigt og PHP-mæssigt) igennem.

Mvh.
/Thomas

Søren Gammelmark (11-01-2004)
Kommentar
Fra : Søren Gammelmark


Dato : 11-01-04 16:09

Som der også blev skrevet i et andet indlæg så bliver funktioner
primært anvendt til undgå gentagende kode. For eksempel laver jeg
mange gange en basic.php-fil, som indeholder en række standard
funktioner jeg bruger meget omkring på mit site. På den måde har
du altid en række værktøjer til rådighed.

En anden ting der skal bruge funktioner er hvis du vil lave en
qsort (en bestemt måde at sortere på). For at kunne bruge denne
metode til at sortere skal du lave en funktion der gør noget i
denne her retning:

function qsort($array, $left, $right)
{
// en masse kode
qsort($array, $left + 1, $right - 1);
}

En sådan funktion kaldes "rekursiv" og den samme effekt kan ikke
(ret nemt) laves uden funktioner. Det er dog ikke særlig tit man
anvender rekursive funktioner (med mindre man arbejder med
ikke-cirkulære træstrukturer), men jeg synes det besvarer dit
spørgsmål fyldestgørende.

Søren Gammelmark

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Joachim (23-01-2004)
Kommentar
Fra : Joachim


Dato : 23-01-04 16:32

Fordi du i stedet kunne skrive liv("hej", "seje", "kaj"), altså du kan du
putte variabler eller strenge ind, smart :)
"RuneStone" <rune@rtk-design.dk> wrote in message
news:40014bdd$0$29417$edfadb0f@dread15.news.tele.dk...
> <?
> function liv($a, $b, $c){
> echo "$a, $b, $c";
> }
> liv("Snegle" "Spiser" "Fisk");
> ?>
>
> hvorfor er det lige at man ikke bare skriver:
> echo "Snegle Spiser Fisk";
>
> nogle der kan vise mig et mere "brugbart" eks. med funktion?
>
> mvh. Rune Thougaard
> --
> www.rtk-design.dk || www.vinperlen.dk
>
>



Søg
Reklame
Statistik
Spørgsmål : 177502
Tips : 31968
Nyheder : 719565
Indlæg : 6408533
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste