Avatar billede inteeeL Nybegynder
23. september 2011 - 21:24 Der er 9 kommentarer og
1 løsning

Er det muligt at bestemme key for array?

Hej eksperter.

Jeg er i gang med arrays og er stødt på et problem. Jeg har et array, som indeholder flere arrays. Hvert af de mange arrays får naturligvis tildelt en key (0,1,2,3 osv). I min kode vil jeg så prøve at unsette et array, men samtidig have, at key for de andre arrays stiger med en og ikke får et mellemrum på grund af det manglende array. Det er nok lidt nemmere at vise i praksis:


<?php

$array =
    array(
        array( 'test', 'testigen', 'testigenigen'),
        array( 'test', 'testigen', 'testigenigen'),
        array( 'test', 'testigen', 'testigenigen')
    );
;

unset( $array[1]);

foreach( $array as $key => $arr) {
    echo $key.' => '.$arr.'<br>';
}

echo '<pre>';
print_r($array);
echo '</pre>'

?>


Ovenstående giver følgende:

0 => Array
2 => Array

Array
(
    [0] => Array
        (
            [0] => test
            [1] => testigen
            [2] => testigenigen
        )

    [2] => Array
        (
            [0] => test
            [1] => testigen
            [2] => testigenigen
        )

)


Der vil jeg i stedet gerne have, at keyene bliver henholdsvis 0 og 1. Er det muligt at gøre, evt. i et et loop eller med en eksisterende funktion inden for PHP?

Håber det er forståeligt, ellers må jeg lige omformulere spørgsmålet. :-)
Avatar billede majbom Novice
23. september 2011 - 21:28 #1
prøv med:

<?php

$array =
    array(
        array( 'test', 'testigen', 'testigenigen'),
        array( 'test', 'testigen', 'testigenigen'),
        array( 'test', 'testigen', 'testigenigen')
    );
;

unset( $array[1]);

$array = array_values($array);

foreach( $array as $key => $arr) {
    echo $key.' => '.$arr.'<br>';
}

echo '<pre>';
print_r($array);
echo '</pre>'

?>
Avatar billede inteeeL Nybegynder
23. september 2011 - 21:32 #2
Lige hvad jeg ledte efter, perfekt! Smid endelig et svar splazz :-)
Avatar billede majbom Novice
23. september 2011 - 21:36 #3
kommer her :)
Avatar billede hansepeter2 Nybegynder
23. september 2011 - 21:40 #4
Avatar billede inteeeL Nybegynder
23. september 2011 - 21:45 #5
Du har ret hansepeter, array_splice gør også arbejdet for mig - vil dog benytte array_values, da den funktion passer bedst i min kode. Men tak for input. :-)
Avatar billede majbom Novice
23. september 2011 - 21:45 #6
tfp :)

-> #4 - er det ikke lidt mere omstændigt?
Avatar billede hansepeter2 Nybegynder
23. september 2011 - 21:46 #7
array_splice($array, 1, 1);

er det omstændigt?
Avatar billede majbom Novice
23. september 2011 - 21:56 #8
-> #6 - næh :)

har bare ikke brugt den før og lige ved første øjekast så det værre ud :)
Avatar billede majbom Novice
23. september 2011 - 21:58 #9
den er jo faktisk mere praktisk umiddelbart, da man så også sparer unset-linjen...
Avatar billede minniexxx Nybegynder
24. september 2011 - 13:55 #10
Hi!

I am Miss Minnie how are you! hope you are fine and in perfect condition of health.I went through your profile and i read it and took interest in it,if you don't mind i will like you to write me on this ID:( minniexxxs@yahoo.com ) hope to hear from you soon, I will be waiting for your mail because i have something VERY important to tell you.

Lots of love,
Minnie!

minniexxxs@yahoo.com
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

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