|
| 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 :.
| |
|
|