Toon posts:

[php] array opnieuw indexeren

Pagina: 1
Acties:
  • 152 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hoi,

Ik heb de volgende array ($values):

Array ( [0] => 747
[1] => 802
[2] => 747
[3] => 802
[4] => 1005
[5] => 540 )

Nu haal ik de dubbele waardes eruit, maar nu krijg ik de volgende array:

Array ( [0] => 747
[1] => 802
[4] => 1005
[5] => 540 )

Hoe kan ik er nu voor zorgen dat deze array opnieuw geindexeerd wordt?
Dus zodat de array als volgt wordt:

Array ( [0] => 747
[1] => 802
[2] => 1005
[3] => 540 )

Patrick

Verwijderd

Met een while-loop?
Waarden met foreach eruit halen en dan in een nieuwe array zetten.

Verwijderd

Topicstarter
mmm, maar niet met sizeof($values), want dat werkt niet.
zou dan met de maximale waarde van de key moeten gebeuren.
hoe haal ik die eruit ?

Maar zou het niet simpeler kunnen ?!

Verwijderd

Ik ga er dan wel vanuit dat je al de maximale waarden eruit hebt gehaald.

Verwijderd

Topicstarter
mmm, je hebt me wel geholpen:

PHP:
1
2
3
   while (list ($key, $val) = each ($values)) {
      $newvalues[] = $val;
   }

Verwijderd

Verwijderd schreef op 02 augustus 2002 @ 15:23:
mmm, je hebt me wel geholpen:

PHP:
1
2
3
   while (list ($key, $val) = each ($values)) {
      $newvalues[] = $val;
   }
Welke editor gebruik je ?

  • Prutser_IA
  • Registratie: Januari 2000
  • Laatst online: 03-06-2021

Prutser_IA

<*{{{><

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
function Array_ReIndex($array)
{
  FOR($n=0; $n <= sizeof($array); $n++) {
    IF (!in_array($array[$n], $new_array))
      $new_array[$n] = $array[$n];
    }
  }
  Return $new_array;
}

/* En dan gebruik maken van de eerste array, */

$array = Array_ReIndex($array);


tis wellicht iets wat omslachtig. maar volgens mij behoord het te werken (niet kunnen testen hier)

42


Verwijderd

Topicstarter
hoe zo welke editor gebruik ik?!

Ik gebruik gewoon DreamBeaver :) Op PhpEd gebruik ik ook vaak

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

PHP:
1
2
3
4
5
function reIndex($array) {
   $array=array_unique($array);
   $array=array_values($array);
return $array;
}


Zoiets? ;)

Programmer - an organism that turns coffee into software.


  • p0m
  • Registratie: September 2000
  • Laatst online: 22-08 07:02

p0m

1 functie : array_values.

edit:
hmm ik ben blind ofzo , zag laatste post niet 8)7

  • Prutser_IA
  • Registratie: Januari 2000
  • Laatst online: 03-06-2021

Prutser_IA

<*{{{><

Tja, zo kan die natuurlijk ook :P

idee is hetzelfde, wist alleen niet dat er al een functie voor was..

42


Verwijderd

Topicstarter
ik ook niet ;)

  • wietco
  • Registratie: Augustus 2001
  • Laatst online: 10:12
Verwijderd schreef op 02 augustus 2002 @ 15:23:
mmm, je hebt me wel geholpen:

PHP:
1
2
3
   while (list ($key, $val) = each ($values)) {
      $newvalues[] = $val;
   }
dat kan beter zo :)
PHP:
1
2
3
foreach($values AS $val){
 $newvalues[] = $val;
}
Pagina: 1