/ 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
[UPDATE] Brug af funktioner i switch-state~
Fra : Steen Berg Andersen


Dato : 13-06-01 12:06

Jeg spurgte:

>Hej,
>
>Er der nogen, som har erfaringer med at bruge funktions-kald i switch-case
>statements?
>
>Dvs. noget i stil med:
>
>switch(preg_match("/<regular expression>/",$string,$matches))
>{
> case A:
> do Astuff;
> break;
> case B:
> do Bstuff;
> break;
> ....
> default:
> do DEFAULTstuff;
>}

Derefter blev jeg træt af mig selv og fandt ud af, at følgende fungere fint:


switch(preg_match("/\[{$component}\]/i",$templateData[1]["templateLayout"],$
v1) &&

preg_match("/(\[{$component}\])(.*)(\[\/{$component}\])/i",$elementData[0]["
elementContent"],$v2))
{
case (preg_match("/elementID=(\d*)/i",$v2[0],$v3)):
{
/*
* Get the substring of elementData starting with the position of
'='+1 in "elementID=X".
* Call GetElement with the elementID thus found.
* Replace [$component]elementID=X[/$component] with the value found
at key "elementContent" of the array $replacementData.
*/
$replacementData =
$this->GetElement(substr($v3[0],strpos($v3[0],"=")+1));
$templateData[1]["templateLayout"] =
preg_replace("/\[{$component}\]/i",$replacementData[0]["elementContent"],$te
mplateData[1]["templateLayout"]);
break;
}

default:
{
$templateData[1]["templateLayout"] =
preg_replace("/\[{$component}\]/i",$v2[0],$templateData[1]["templateLayout"]
);
break;
}
}

....så blev jeg den smule klogere. Håber det kan komme andre til nytte...

mvh.
Steen Berg Andersen
Systems Developer




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

Månedens bedste
Årets bedste
Sidste års bedste