power-box.de
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 28.06.2007, 17:01   #1
TP-Member
 
Registriert seit: Aug 2006
Ort: Berlin
automatix macht alles soweit korrekt

Array als Argument und Default-Werte


Hallo Forum!

Es ist, wie bekannt, möglich, den Parametern/Argumenten einen Default-Wert zuzuweisen.
PHP-Code:
function myFunction ($myArgument="myDefaultValue") {} 
Es ist auch möglich, ein Array als Parameter einer Finktion zu benutzen.
PHP-Code:
function myFunc ($myArgumentArray) {} 
Ich finde aber nirgendwo, wie man beides gleichzeitig macht, also ein Array als Argument verwenden UND diesem Array Standardwerte mitgeben.

So...
PHP-Code:
function myFunction ($myArgumentArray['a']="APPLE"$myArgumentArray['b']="BANANA") {}
myFunction ($myArgumentArray['a']="apple"$myArgumentArray['b']="banana"); 
geht's nicht: Parse error: syntax error, unexpected '[', expecting ')' in...Und so...
PHP-Code:
function myFunction ($myArgumentArray['a']=>"APPLE"$myArgumentArray['b']=>"BANANA") {}
myFunction ($myArgumentArray['a']="apple"$myArgumentArray['b']="banana"); 
...auch nicht (der gleiche Fehler).

Aber irgendwie muss das doch gehen! Weiß jemand wie?

Danke.
automatix ist offline   Mit Zitat antworten


Alt 28.06.2007, 20:00   #2
TP-Veteran
 
Benutzerbild von manuelito
 
Registriert seit: Sep 2002
Ort: Winterthur
manuelito hilft, wo's gehtmanuelito hilft, wo's gehtmanuelito hilft, wo's geht
Hi,

ist imho nicht möglich, habe ich jedenfalls noch nie gesehen. Du könntest der Funktion aber einfach beliebig viele Argumente mitgeben und dann per func_get_args darauf als Array zugreifen. Allerdings glaube ich nicht, dass dir das etwas bringt in dem Zusammenhang wie ich dein Problem verstanden habe.

Cu
__________________
Wer sabotiert eigentlich ständig meine Signatur?
manuelito ist offline   Mit Zitat antworten
Alt 28.06.2007, 20:39   #3
TP-Member
 
Registriert seit: Aug 2006
Ort: Berlin
automatix macht alles soweit korrekt
Doch, das geht zum Glück. Da ein Beispiel:

PHP-Code:
<?php
function array2selctOptions ($soArray$so_value$so_text$selectName="where[category]"$allMarker=array('amValue'=>"ALL"'amText'=>"alle Kategorien"))
{
    
$naviSelect "";
    
$naviSelect .= "<option value=\"" $allMarker['amValue'] . "\">" $allMarker['amText'] . "</option>" "\n";
    for(
$soc=0$soc<count($soArray); $soc++)
    {
        
$naviSelect .= "<option value=\"" $soArray[$soc][$so_value] . "\">" $soArray[$soc][$so_text] . "</option>" "\n";
    }
    
$naviSelect "<select name=\"" $selectName "\">" $naviSelect "</select>" "\n";
    
    return 
$naviSelect;
}
?>
PHP-Code:
<?php
    $soArray 
$navi_category['rows'];
    
$so_value 'id';
    
$so_text 'de';
    
#$allMarker=array('amValue'=>"ALL", 'amText'=>"alle Kategorien");
    
$selectName="where[category]";
    
$_SESSION['naviSelect']['naviSelect4dataSelect']['category'] = array2selctOptions ($soArray$so_value$so_text$selectName);
?>
Es funktioniert. Man darf nur nicht die allgemeine Regel außer Acht lassen, dass man "die Argumente der Funktion von hinten nach vorne weglassen" soll. Vielen Dank!

P.S. Der Code ist übrigens eine Funktion für die Umwandlung eines Arrays, das aus einem SQL-result gewonnen wurde, nach DropDown-Liste. Vielleicht kann ja jemand gebrauchen...
automatix ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Array als Argument und Default-Werte Array als Argument und Default-Werte
« Ablegefach mit PHP programmieren | mySQL-Abfrage nach Zahlen »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
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


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:43 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67