skal have en key

Tags:    php

Hvordan henter jeg en key inde fra min kode med en masse foreach().
Jeg vil gerne hente 'aaa1' teksten midt inde fra min kode.

Jeg har prøvet med noget i denne stil men kan man det ?



key($value);
$value[key($value)];



Fold kodeboks ind/udPHP kode 


Det skal være sådan at første gang viser echo 'aaa1', næste gang 'aaa2' også 'aaa3'.



Indlæg senest redigeret d. 07.10.2011 05:01 af Bruger #13010
6 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Den syntax du bruger her er
Fold kodeboks ind/udPHP kode 

men der findes også denne syntax
Fold kodeboks ind/udPHP kode 

Hvis du bruger denne syntax vil du få både key og value ud i hver deres variabel. Så slipper du for at bruge key() funktionen.

http://php.net/manual/en/control-structures.foreach.php

Som en sidebemærkning vil jeg fraråde at have så mange loops inde i hinanden. Det kan meget nemt gøre koden uoverskuelig og svær at vedligeholde. Du kan overveje at putte nogle af dine loops i funktioner, så der ikke er så mange variabler i spil på én gang.




Fold kodeboks ind/udPHP kode 


Inde i dit loop?



Noget i retning af dette:
Fold kodeboks ind/udKode 




du havde en fejl i din array struktur for mange (), dette skulle kunne klare det :)
Fold kodeboks ind/udPHP kode 


ellers
Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 07.10.2011 13:49 af Bruger #3427
Ok nu fandt jeg ud af få det til at virke som jeg ville.

Men ja koden er meget uoverskuelig med alle de foreach() løkker og måske den måde jeg har skrevet arrayet på.

Hvis der er nogen der gider kigge på koden her og se om i kan finde nogen måder at forbedre den.
Forventer ikke at i forstår hele koden men bare hvis i lige kan se noget der kunne være smart.

For eksempel forstår jeg ikke helt det her med if($normalmenuoverskrift != '0'){ som tester og det er en array men det virker.

Fold kodeboks ind/udPHP kode 




Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 07.10.2011 15:41 af Bruger #13010
Hej igen og tak men er det ikke muligt at gøre det uden at røre ved foreach() løkkerne.

Det skulle gerne være præcist som det står her.
Er det så muligt at hente 'aaa1' ? og detefter aaa2 også aaa3 ?

Fold kodeboks ind/udPHP kode 


Der hvor der står "echo key($key);" det der jeg er i tvivl om hvad der skal stå.


det kan ikke lade sig gøre med den opygning, du har 4foreach løkker, du har kun 2 niveauer i dit array.
hvis du ik forstår hvad jeg mener så prøv det her, og se hvad tal der bliver udskrevet.
Fold kodeboks ind/udPHP kode 




t