Avatar billede eikhorsholm Nybegynder
20. maj 2005 - 23:01 Der er 9 kommentarer og
1 løsning

Find positionen i et array.

Jeg har et array ala:
array("" => "", "" => "")

Jeg kører det igennem med:
foreach ($array as $1 => $2)

Hvordan kan jeg i genneløbet finde ud af om jeg er nået til sidste element, evt. udskrive positionen for de pågældene element (hvad nummer det er i array'et)?
Avatar billede olebole Juniormester
20. maj 2005 - 23:08 #1
<ole>

'Sidste element' give absolut ingen mening i et associativt array. Det har ingen defineret rækkefølge. Du kan gøre sådan for at vide, hvormange gange du har været gennem løkken:

$i = 0;
foreach ($array as $1 => $2) {
  // Gør noget her ...
  $i++;
}

/mvh
</bole>
Avatar billede eikhorsholm Nybegynder
20. maj 2005 - 23:09 #2
Hmm. Det er fordi jeg har mange array's, og jeg skal skrive noget ud hver gang jeg når til sidste element. Så det er variabelt for hvor langt array'et er.
Avatar billede eikhorsholm Nybegynder
20. maj 2005 - 23:12 #3
Har brugt dit eksempel og tilføjet:
if ($i == sizeof($array)) {

Burde det ikke virke?
Avatar billede erikjacobsen Ekspert
20. maj 2005 - 23:13 #4
Der er som sagt ikke noget, der hedder det sidste element i arrayet, men der kan være
et sidste element i din udskrift. Brug count() til at se hvor mange der er, og så
Oles geniale optælling med $i. Så kan du se når enden er nær.

  $a=array("ijh" => "7", "oo" => "u");
  print count($a);
Avatar billede erikjacobsen Ekspert
20. maj 2005 - 23:14 #5
Og jeg er for langsom til at skrive. Jo, det virker.
Avatar billede eikhorsholm Nybegynder
20. maj 2005 - 23:14 #6
Hvorfor er der egentlig både sizeof() og count()?
Avatar billede eikhorsholm Nybegynder
20. maj 2005 - 23:15 #7
olebole -> laver du ikke et svar?
Avatar billede erikjacobsen Ekspert
20. maj 2005 - 23:16 #8
Sikkert af samme grund som der både er sukker og melis.
Kært barn har lange navne, eller hvordan det nu er.
Avatar billede olebole Juniormester
20. maj 2005 - 23:35 #9
"Kært barn har lange arme" hedder det vist ... eller burde det i hvert fald hedde  ;D

Der er faktisk en del af den slags aliases for forskellige funktioner i PHP. Formodentligt for at gøre livet lettere for kodere, der kommer fra andre sprog(?)
Avatar billede eikhorsholm Nybegynder
21. maj 2005 - 12:42 #10
Tak for svar alle sammen. Pointene gik til olebole :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester