PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Die Sache mit den Funktionen!?!


JoeJoe
13.10.2002, 19:42:04
Hallo Leudde!

Ich Programmiere seit nem Montag Stückchenweise PHP, das heißt ich sammel mir halt immer nur das zusammen, was ich brauch!

Heute war mir ein wenig langweilig, und ich hab mich mal ein bisschen mit Funktionen befasst, leider kam aber net viel dabei heraus! Könnt ihr mit helfen?
---
Was sind eigentlich Funktionen in PHP, und wozu brauche ich sie?
Evt. kann jdm. noch schreiben, wie ich welche erstelle und verwende!?!

thx
cu@all!

Ben20
13.10.2002, 21:55:36
Funktionen verwendet man, um Programmcode, denn man öfter braucht nicht mehrmals schreiben zu müssen. Nachfolgend ein kleines Beispiel:


<?php

function line() {

echo "-------------------<br>";

}



line();
line();
line();

?>


Ausgabe:

--------------------<br>
--------------------<br>
--------------------<br>


Hoffe es hilft!

mad-boy
13.10.2002, 23:21:36
Hi,
genau das würde mich auch mal interessieren!
Soweit wie oben hab ich das schon verstanden aber das könnte man ja auch einfach mit Variablen lösen, interessant wird es erst wenn man noch parameter übergibt, also z.B. bla(hallo); wie mache ich sowas?

OneMice
15.10.2002, 12:13:42
die übergabe von variablen funzt genauso wie in javascript oder anderen spachen.

beispiel :

in einem laufenden script haben sich durch eingabe oder berechnung folgende zuweisungen ergeben :

$laenge = 10
$breite = 15
$hoehe = 20

so, nun möchte ich berechnungen anstellen :

1. grundfläche
2. raummaß

ich könnte diese berechnung in mein aktuelles script schreiben, da ich aber weiss, dass ich diese berechnungsformeln an anderen stellen auch wieder brauche, erstelle ich mir eine datei, die nur funktionen enthält und binde diese per include in meine dateien ein.

in meiner datei functions.php steht also dann unter anderem folgendes :

########### berechnung grundfläche ############

function grund($wert1,$wert2){
$flaeche = $wert1 * $wert2;
return $flaeche;
}

########### berechnung raummaß ############

function raum($wert1,$wert2,$wert3){
$inhalt= $wert1 * $wert2 * $wert3;
return $inhalt;
}


um die grundfläche zu berechnen brauche ich 2 masse, länge und breite.
beim raummaß brauch ich halt 3, länge-breite-höhe.


in meinem laufenden script, in das die datei functions.php per include eingebunden ist schreib ich nun einfach folgende zeilen rein :

$grundflaeche = grund($laenge, $breite);
$raummass = raum($laenge, $breite, $hoehe);

die function übernimmt die übergebenen werte in der reihenfolge wie sie übergeben werden, d.h. :
der inhalt von $laenge wird in $wert1 geschrieben, der inhalt von $breite in $wert2 usw.
man kann auch die gleichen variablenbezeichnungen innerhalb der funktion verwenden, da sie nur innerhalb gelten und die anderen nicht beeinflussen.
durch return $flaeche wird das ergebnis, das in $fleche steht zurückgegeben und in die variable $grundflaeche geschrieben.
man kann hier statt einer variablenzuweisung auch echo hinschreiben, dann wird das zurückgelieferte ergebnis halt einfach angezeigt.
genauso kann man natürlich auch ein mehdimensionales array zurückgeben und dann weiterverarbeiten.

hoffe, das war einigermassen verständlich :-)

gruss
onemice

mad-boy
15.10.2002, 12:21:46
Jo, danke! :)

Damit kann man schon ordentlich was anfangen! Der rest ist ja normales PHP wie überall anders auch! Oder gibts da noch irgendwelche Spezialfunktionen die nur in function... funktionieren???

OneMice
15.10.2002, 12:26:19
nicht dass ich wüsste :-)
da schreibt man stinknormalen code rein, der überall anders auch stehen könnte.

onemice

mad-boy
15.10.2002, 12:29:30
OK! :) Also THX nochma! :)

MiH
15.10.2002, 13:59:43
variablen die du von außerhalb brauchst musst du mit
global $variable;
innerhalb der funktion definieren
bsp:

$var1 = "Test";
function blah(){
echo $var1;
}

zeigt nichts an.


$var1 = "Test";
function blah(){
global $var1;
echo $var1;
}

zeig nun den inhalt von var1 an ;)
ach ja bei der übergabe von parametern gibts auch nochwas:

function blah($var1="test"){
echo $var1;
}

wenn var1 nicht gesetzt ist wird ihr automatisch "test" als inhalt zugewiesen.


$var1 = 1;
function blah(&$var1){
$var1++;
}

http://www.php.net/manual/en/language.references.pass.php

mehr fällt mir im moment aber auch nicht ein.

mad-boy
15.10.2002, 16:05:02
Für das letzte Beispiel reichen meine English Kentnisse nicht aus und die deutsche Version is nicht vorhanden! :D