[php] array = keys re-assignen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een array, ziet er momenteel zo uit (voorbeeldje):

PHP:
1
2
3
4
0 -> vervoersmiddelen
1 -> auto
4 -> kleur
27 -> michelin


En ik wil dat hij er zo uit komt te zien:

PHP:
1
2
3
4
0 -> vervoersmiddelen
1 -> auto
2 -> kleur
3 -> michelin


Ik heb sort() al gevonden, en als zijn varianten, maar ik kan er echt niet wijs uit worden. Ik heb zeker al veel geprobeerd, maar ik denk dat ik de plank steeds net even missla... welke moet ik hebben?! Aangezien veel sort functies ook nog eens flags hebben, zou ik bij God niet weten welke ik moet hebben...!

Edit

De volgorde van de values moet dus behouden blijven! Dat is van belang.

[ Voor 10% gewijzigd door Verwijderd op 23-02-2004 14:09 ]


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Waarom ben je uberhaupt naar een sort aan het kijken? Je bent immers neit aan het sorteren, maar wilt de keys opnieuw toekennen.

Waarom doe je neit een foreach lusje waarbinnen je een nieuwe array vult die wel een oplopende key heeft. Nog belangrijker is trouwens waarom je in eerste instantie de array niet zo hebt, en waarom je denkt dit wel zo nodig te hebben.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • SilentThunder
  • Registratie: September 2001
  • Laatst online: 19-09 07:49
Als de volgorde van de values hetzelfde moeten blijven, zul je wel een eigen functie moeten schrijven denk ik:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$arrValues = array(
    0 => "vervoersmiddelen",
    1 => "auto",
    4 => "kleur",
    27 => "michelin"
);

$arrValues = array_reassign_keys($arrValues);

print_r($arrValues);

function array_reassign_keys($p_arrInput)
{
    $arrTemp = array();
    foreach($p_arrInput AS $mixValue)
    {
        $arrTemp[] = $mixValue;
    }
    
    return $arrTemp;
}

Canon EOS 40D | Canon EF-S 10-22mm F/3.5-4.5 USM | Tamron 17-50mm F/2.8 | Canon EF 50mm F/1.8 II | Canon EF 70-200mm F/4L IS USM | Speedlite 430EX


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Als je ze van key wilt laten wijzigen dan doet de key er blijkbaar helemaal niet toe. Als de key er helemaal niet toe doet waarom dan de moeite om ze een andere te geven?