login  Naam:   Wachtwoord: 
Registreer je!
 Forum

array opnieuw sorteren na unset

Offline yolk - 18/01/2007 09:16
Avatar van yolkHTML interesse Uit de volgende array wordt een element verwijderd met unset():
Array ( [0] => C_71 [1] => C_72 [2] => C_103 [3] => R_188 [4] => C_110 [5] => R_2067 [6] => R_64 )
Als ik de array met foreach($list as $item) uitlees, dan vallen er gaten op de plek waar de unset heeft plaatsgevonden. Hoe orden je de array na een unset zodat de lege plekken verdwijnen en zonder dat de volgorde van de items verandert?

6 antwoorden

Gesponsorde links
Offline Webtijn - 18/01/2007 09:20 (laatste wijziging 18/01/2007 09:20)
Avatar van Webtijn PHP interesse
  1. <?php
  2.  
  3. $Arr = Array( [0] => "Appel", [1] => "Peer", [2] => "Mandarijn", [3] => "Ananas", [4] => "Meloen" );
  4. $ArrTwee = Array( );
  5.  
  6. unset( $Arr[2] ); // Ik vind mandarijnen niet lekker =)
  7.  
  8. $i = 0;
  9.  
  10. foreach( $Arr AS $Value )
  11. {
  12.  
  13. $ArrTwee[$i] = $Value;
  14.  
  15. }
  16.  
  17. ?>


Zoiets?
Offline Kr4nKz1n - 18/01/2007 09:21
Avatar van Kr4nKz1n Onbekend Misschien tussen de code UBB tags zetten?
Offline Webtijn - 18/01/2007 09:24
Avatar van Webtijn PHP interesse Zó ver was ik zelf ook al.. had hem al geedit voordat jij gepost had, maar waarschijnlijk postte jij vlak nadat ik edditte.

Anyway, heb zo snel geen PHP functie hiervoor kunnen vinden:
http://nl3.php.net/array
Offline yolk - 18/01/2007 09:30
Avatar van yolk HTML interesse Nee, zoiets is het volgens mij niet. Als je met unset iets verwijdert uit de array dan wordt dit de nieuwe array:
[0] => C_71
[1] =>
[2] => C_103
[3] => R_188
[4] => C_110
[5] =>
[6] => R_64

Nummer 1 en 5 moeten dan verdwijnen, zodat de array uit 5 items bestaat. De nieuwe array zou dan zo moeten worden:
[0] => C_71
[1] => C_103
[2] => R_188
[3] => C_110
[4] => R_64
Offline Berten - 18/01/2007 10:42
Avatar van Berten PHP beginner hmz

werkt dat van webtijn niet?

zou moeten lukken.
Offline yolk - 18/01/2007 11:25
Avatar van yolk HTML interesse Nee, zoals webtijn heb ik het nu staan. De lege velden worden meegenomen, iets wat niet zou moeten.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.176s