php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.05.2005, 10:25  
Gast
 
Beiträge: n/a
Standard functionen - optionale Parameter

Hallo,

ich hab jetz schon ein bisschen rumprobiert und mich durch tutorials und durchs manual gewühlt, aber ich hab keine lösung gefunden.

Und zwar geht es darum:

Man kann in einer funktion ja optionale Parameter definieren.
Nun möchte ich aber mehrere optionale Parameter definieren.
Das habe ich auch gemacht, nur nun ist das problem dass ich wenn ich nun einen dieser Parameter richtig aufrufen möchte den anderen optionalen auch aufrufen muss, ist logisch. ein kleines beispiel verdeutlicht das:

PHP-Code:
<?php
function foo($param1$param2$param3 "foo"$param4 "bar")
{
echo 
$param1;
echo 
$param2;
echo 
$param3;
echo 
$param4;
}
?>
Angenommen ich möchte jetzt nur den optionalen param4 überschreiben, aber param 3 nicht, dann funktioniert dies logischer Weise nicht:


PHP-Code:
<?php
$param1 
'bla';
$param2 'foobar';
$param4 'helloworld';
foo($param1$param2$param4);
Ich möchte also den param3 vordefiniert lassen und nur den 2. optionalen also param4 überschreiben. Aber wie in dem beispiel oben geht das natürlich nicht, weil er ja den param3 mit "helloworld" überschreibt. Wenn man es aber so macht:

PHP-Code:
<?php
$param1 
'bla';
$param2 'foobar';
$param4 'helloworld';
foo($param1$param2'' $param4);
dann geht es auch nicht, weil $param3 dann '' ist.


Gibt es hierfür eine Lösung?

mfg

L1nuX3r
?>[/php]
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.05.2005, 10:31  
Erfahrener Benutzer
 
Registriert seit: 19.10.2004
Beiträge: 498
marsch
Standard

Ja, übergib ein assoziatives Array (oder besser eine Referenz darauf) als Parameter.
__________________
Cheers, Marco
marsch ist offline  
Alt 23.05.2005, 10:34  
Gast
 
Beiträge: n/a
Standard

ok vielen dank
 
Alt 23.05.2005, 11:20  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

oder übergibst NULL und fängst es in der funktion ab, weil vorher ja eh datentypen etx überprüft werden sollten.... je nach anwendung

mfg
robo47
robo47 ist offline  
Alt 23.05.2005, 11:38  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Es ist aber irgendwie bescheuert explizit null zu übergeben. Da finde ich die Lösung mit dem assoziativen Array aber um Längen besser.
imported_Ben ist offline  
Alt 23.05.2005, 17:51  
Gast
 
Beiträge: n/a
Standard

hm ja das mit null ist blöd, aber wie soll denn das mit dem assoziativen Array funktionieren? Bin zu doof dazu

mfg

L1nuX3r
 
Alt 23.05.2005, 17:56  
Erfahrener Benutzer
 
Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse:
Anfänger
Igäl befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
<?php
$params
[] = "foo";
$params[] = "bar";
$params[] = "";
$params[] = "helloworld";

parameter($params);


function 
parameter($params) {
 for(
$i=0;$i<count($params);$i++) {
  echo 
$params[$i]."
"
;
 }
}

?>
oder halt eben:

PHP-Code:
<?php

$params
['param1'] = "foo";
$params['param2'] = "bar";
$params['param3'] = "";
$params['param4'] = "helloworld";

parameter($params);

function 
parameter($params) {
 echo 
$params['param1']."
"
;
 echo 
$params['param2']."
"
;
 echo 
$params['param3']."
"
;
 echo 
$params['param4']."
"
;
}

?>
Kein gewähr das es funktioniert
__________________
Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit.
Mark Twain
Igäl ist offline  
Alt 23.05.2005, 19:08  
Gast
 
Beiträge: n/a
Standard

achso, ja soweit war ich auch, ich dachte nur, dass das dann trotzdem irgendwie mit Vorbelegung sein muss. Naja wenn es so geht, dann ist es in Ordnung

vielen Dank

L1nuX3r
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Variable Anzahl Parameter bie build-in-functions sqrt PHP Tipps 2008 16 25.05.2008 23:00
Funktion mehrere optionale Parameter GSJLink PHP Tipps 2008 10 28.09.2007 17:52
$_GET, $_POST direkt auslesen oder als Parameter Igäl PHP Tipps 2008 5 17.08.2007 14:36
[Erledigt] optionale Parameter mit Funktion im Defaultwert PHP Tipps 2007 10 02.01.2007 21:42
Parameter überschreiben Igäl PHP Tipps 2006 8 04.06.2006 19:55
Variable als optionalen Parameter? Mex PHP Tipps 2006 3 20.04.2006 07:05
?id= und andere Parameter Beitragsarchiv 10 12.04.2006 09:43
Darstellung von Links ohne Parameter seven-12 PHP Tipps 2006 4 16.02.2006 15:31
Parameter wird nicht übergeben HTML, Usability und Barrierefreiheit 4 06.10.2005 13:53
einen parameter verstecken seven-12 PHP Tipps 2005-2 8 27.07.2005 16:57
[Erledigt] Parameter uebergeben PHP Tipps 2005-2 10 20.07.2005 16:55
text aus parameter in bestehendes bild schreiben PHP Tipps 2005-2 3 10.06.2005 20:21
Parameter von checkdnsrr ? PHP Tipps 2005 2 22.01.2005 02:36
Parameter Tschuu PHP Tipps 2004-2 4 02.12.2004 20:05
Alle $_GET[] parameter auslesen PHP Tipps 2004 3 09.08.2004 14:14

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php nur zweiten optionalen parameter

Alle Zeitangaben in WEZ +1. Es ist jetzt 11:48 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.