On Sun, 17 Feb 2008 22:11:43 +0100
Peter Brodersen <usenet2008@ter.dk> wrote:
>
> For PHPs vedkommende er der blot tale om et almindeligt array. Så hvis
> select2 var defineret som en konstant, ville det give problemer.
>
Nu refererede jeg ikke til variablen, men til PHP's implementation af
hashes. I PHP er nøglen i et hash altid en string literal, Hvorfor ''
og/eller "" kun er nødvendige såfremt, nøglen indeholder "forbudte"
tegn.
> Et problem ved dit eksempel er i øvrigt også, at det forudsætter at
> $_POST['select2'] overhovedet rummer noget indhold. Hvis intet er
> valgt, vil den variabel ikke være sat, og foreach() vil fejle med en
> warning, idet man ikke har angivet et array som argument:
> "Warning: Invalid argument supplied for foreach() in .."
>
Nu var det jo ikke et grydeklart eksempel, OP efterspurgte, men en
metode til at håndtere en HTML option liste. Fejlhåndteringen var
overladt til OP.
> Hvis man i øvrigt ser bort fra eventuelle notices, kan det anbefales
> at caste i foreach, hvis man ikke er sikker på typen
>
> foreach ((array) $_POST[select2] as $option) {
> echo "$option\n";
> }
>
Det er da ikke en generel betragtning? Det er da ikke altid sikkert, at
man ønsker videre afvikling af en funktion/program, hvis man modtager
en scalar i stedet for et array. Samling af stumper til en URL eller et
funktionsudtryk f.eks.
--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
A computer is like air conditioning: it becomes useless when you open
windows.