/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
array funktion
Fra : Mads United


Dato : 21-11-01 22:40

hejsa,

jeg har et array med et antal elementer.... og jeg skal ha slettet det
element på f.eks. plads 4 så plads 5 rykker tilbage og blir til 4.... er der
en funktion til det ?

pft.



 
 
Thor Dreier (21-11-2001)
Kommentar
Fra : Thor Dreier


Dato : 21-11-01 23:05

"Mads United" <mmm@1a.dk> wrote in message news:9th6vv$gqv$1@sunsite.dk...
> jeg har et array med et antal elementer.... og jeg skal ha slettet det
> element på f.eks. plads 4 så plads 5 rykker tilbage og blir til 4.... er
der
> en funktion til det ?

Mener ikke at der er en funktion der gør det du vil have. Enten kan du kalde
unset($array[4]);
men det rykker ikke 5'eren ned på 4'erens plads. Ellers skal du lave en
funktion selv i retningen af (utestet, og kunne nok laves bedre)

function fjern_element($array, $plads)
{
for($i=$plads; $i<sizeof($array)-1; $i++)
{
$array[$i] = $array[$i+1];
}
unset($array[sizeof($array)-1]);
}

--
Øl er sundt, meget øl er meget sundt, og det skal drikkes året rundt



Mads United (22-11-2001)
Kommentar
Fra : Mads United


Dato : 22-11-01 00:56

Tak for hjælpen, men jeg greb det lidt anerledes an :

function removeElement($array, $index) {

$left = array_slice ($array, 0, $index);
$right = array_slice ($array, $index+1);

$array = array_merge ($left, $right);

unset ($left);
unset ($right);

return $array;
}




Per Thomsen (21-11-2001)
Kommentar
Fra : Per Thomsen


Dato : 21-11-01 23:05


"Mads United" <mmm@1a.dk> skrev i en meddelelse
news:9th6vv$gqv$1@sunsite.dk...
> hejsa,
>
> jeg har et array med et antal elementer.... og jeg skal ha slettet det
> element på f.eks. plads 4 så plads 5 rykker tilbage og blir til 4.... er
der
> en funktion til det ?

Hvis det er PHP4, kan du jo prøve noget i stil med
$mitArray[ (count($mitArray)-2) ] = array_pop($mitArray);

MVH Per Thomsen,
http://www.pert.dk/

>
> pft.
>
>



Lars (22-11-2001)
Kommentar
Fra : Lars


Dato : 22-11-01 14:00

> jeg har et array med et antal elementer.... og jeg skal ha slettet det
> element på f.eks. plads 4 så plads 5 rykker tilbage og blir til 4.... er
der
> en funktion til det ?

unset($array[4]);

Elementet bliver fjernet automatisk så element 5 bliver til 4 osv,
se eksempel på: http://ekspert.coder.dk/delarrayelem.php


--
---
Lars
http://wshlman.moons.dk/ - Say goodbye to GameSpy - Free alternative to
Half-Life users!
http://coder.dk/sohofaq.php - Uofficiel Tiscali SOHO FAQ
..: when mailing me, remember, there is no truth in my mail :.



Niels Andersen (22-11-2001)
Kommentar
Fra : Niels Andersen


Dato : 22-11-01 14:08

"Lars" <lars@truthioflux.net> wrote in message
news:3bfcf69d$0$89851$edfadb0f@dspool01.news.tele.dk...
> unset($array[4]);
>
> Elementet bliver fjernet automatisk så element 5 bliver til 4 osv,
> se eksempel på: http://ekspert.coder.dk/delarrayelem.php

Så vidt jeg lige kan se viser dit eget eksempel det modsatte?

$text = array("hej","med","hest","dig");
unset($text[2]); var_dump($text);

array(3) {
[0]=>
string(3) "hej"
[1]=>
string(3) "med"
[3]=>
string(3) "dig"
}

--
Mvh.

Niels Andersen



Lars (22-11-2001)
Kommentar
Fra : Lars


Dato : 22-11-01 14:14

> Så vidt jeg lige kan se viser dit eget eksempel det modsatte?

Se en ekstra gang og forklar mig hvordan du ser det?

> $text = array("hej","med","hest","dig");

Der er et "hest" element

> unset($text[2]); var_dump($text);

Her bliver det slettet

> array(3) {
> [0]=>
> string(3) "hej"
> [1]=>
> string(3) "med"
> [3]=>
> string(3) "dig"
> }

Ingen "hest" element her...


--
---
Lars
http://wshlman.moons.dk/ - Say goodbye to GameSpy - Free alternative to
Half-Life users!
http://coder.dk/sohofaq.php - Uofficiel Tiscali SOHO FAQ
..: when mailing me, remember, there is no truth in my mail :.



Niels Andersen (22-11-2001)
Kommentar
Fra : Niels Andersen


Dato : 22-11-01 14:25

"Lars" <lars@truthioflux.net> wrote in message
news:3bfcf9bf$0$89810$edfadb0f@dspool01.news.tele.dk...
> > Så vidt jeg lige kan se viser dit eget eksempel det modsatte?
> > array(3) {
> > [0]=>
> > string(3) "hej"
> > [1]=>
> > string(3) "med"
> > [3]=>
> > string(3) "dig"
> > }

> Ingen "hest" element her...

Du sagde:
"Elementet bliver fjernet automatisk så element 5 bliver til 4 osv,"
Hvilket er præcist hvad Mads (spørgeren) ønsker.
Det sker bare ikke i dit eksempel. "dig" er stadig elemtent 3, selv om
du lige har slettet 2øeren. Den nye række er: 0-1-3, det skulle være
0-1-2 for at dække spørgerens behov.

--
Mvh.

Niels Andersen



Lars (22-11-2001)
Kommentar
Fra : Lars


Dato : 22-11-01 14:45

> Du sagde:
> "Elementet bliver fjernet automatisk så element 5 bliver til 4 osv,"
> Hvilket er præcist hvad Mads (spørgeren) ønsker.
> Det sker bare ikke i dit eksempel. "dig" er stadig elemtent 3, selv om
> du lige har slettet 2øeren. Den nye række er: 0-1-3, det skulle være
> 0-1-2 for at dække spørgerens behov.

Det er sqda rigtigt! :) My bad!

--
---
Lars
http://wshlman.moons.dk/ - Say goodbye to GameSpy - Free alternative to
Half-Life users!
http://coder.dk/sohofaq.php - Uofficiel Tiscali SOHO FAQ
..: when mailing me, remember, there is no truth in my mail :.



Lars (22-11-2001)
Kommentar
Fra : Lars


Dato : 22-11-01 14:56

> jeg har et array med et antal elementer.... og jeg skal ha slettet det
> element på f.eks. plads 4 så plads 5 rykker tilbage og blir til 4.... er
der
> en funktion til det ?

Jeg misforstod noget før, her er en der virker efter hensigten:

function delElem($idx,&$array)
{
return $array =
array_merge(array_slice($array,0,$idx),array_slice($array,$idx+1,count($arra
y)-$idx-1));
}

Kald den sådan:

delElem(2,$dit_array);


--
---
Lars
http://wshlman.moons.dk/ - Say goodbye to GameSpy - Free alternative to
Half-Life users!
http://coder.dk/sohofaq.php - Uofficiel Tiscali SOHO FAQ
..: when mailing me, remember, there is no truth in my mail :.



Søg
Reklame
Statistik
Spørgsmål : 177522
Tips : 31968
Nyheder : 719565
Indlæg : 6408670
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste