/ 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
Fjerne elementer fra array
Fra : Martin Højriis Krist~


Dato : 12-07-02 11:23

Jeg har fået stirret mig blind på problemet.

Jeg har et array med en række værdier.
Jeg joiner array'et og sender det i en mail.
Det kan fx give: "45,0,46,47,0,48"
0'erne har jeg ikke noget at bruge til, jeg vil hellere have
"45,46,47,48"

Jeg kan selvf. løbe array'et igennem og fjerne 0'erne, men findes der
ikke en funktion der kan rense et array for en bestemt værdi?

--
Martin Højriis Kristensen - http://www.makr.dk/?usenet
Jeg repræsenterer med dette indlæg mig selv og ikke TDC Internet



 
 
Niels Andersen (12-07-2002)
Kommentar
Fra : Niels Andersen


Dato : 12-07-02 12:06

Martin Højriis Kristensen wrote in
<3d2eb5a3$0$16804$edfadb0f@dspool01.news.tele.dk>:
> Det kan fx give: "45,0,46,47,0,48"
> 0'erne har jeg ikke noget at bruge til, jeg vil hellere have
> "45,46,47,48"

Det nemmeste er vel:

str_replace('0,', '');

Det bedste er vel at undgå at de kommer der i første omgang.

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Martin Højriis Krist~ (12-07-2002)
Kommentar
Fra : Martin Højriis Krist~


Dato : 12-07-02 12:21

"Niels Andersen" <niels-usenet@myplace.dk> skrev i en meddelelse
news:cKyX8.2731$QP6.454618@news010.worldonline.dk...
> Det nemmeste er vel:
> str_replace('0,', '');

Nej, for den fejler ved fx "47,0"

> Det bedste er vel at undgå at de kommer der i første omgang.

Det ville blive overordentligt grimt. Jeg får array'et leveret sådan fra
en helt anden funktion som bruges til meget andet.

--
Martin Højriis Kristensen - http://www.makr.dk/?usenet
Jeg repræsenterer med dette indlæg mig selv og ikke TDC Internet



Jakob Kirkegaard (12-07-2002)
Kommentar
Fra : Jakob Kirkegaard


Dato : 12-07-02 13:04

Friday 12 July 2002 13:21, Martin Højriis Kristensen wrote:
> "Niels Andersen" <niels-usenet@myplace.dk> skrev i en meddelelse
>> Det nemmeste er vel:
>> str_replace('0,', '');
> Nej, for den fejler ved fx "47,0"

Hvad med at søge på kommaet på den anden side af 0'et, og bruge noget i
retning af :

preg_replace ("/,0/", "", "45,0,46,47,0,48,0");

og i tilfælde af, at der står et 0 i starten:

preg_replace ("/(,0)|(^0,)/", "", "0,45,0,46,47,0,48,0");

--
mvh Jakob Kirkegaard

Martin Højriis Krist~ (12-07-2002)
Kommentar
Fra : Martin Højriis Krist~


Dato : 12-07-02 13:16

"Jakob Kirkegaard" <jkir00@control.auc.dk> skrev i en meddelelse
news:agmgja$lef$1@sunsite.dk...
> preg_replace ("/(,0)|(^0,)/", "", "0,45,0,46,47,0,48,0");

Jeg skal helst bruge arrayet til andet end lige strengen så Jespers
løsning er at foretrække

--
Martin Højriis Kristensen - http://www.makr.dk/?usenet
Jeg repræsenterer med dette indlæg mig selv og ikke TDC Internet



Jakob Kirkegaard (12-07-2002)
Kommentar
Fra : Jakob Kirkegaard


Dato : 12-07-02 13:31

Friday 12 July 2002 14:15, Martin Højriis Kristensen <usenet@makr.dk>
wrote:
> "Jakob Kirkegaard" <jkir00@control.auc.dk> skrev i en meddelelse
> news:agmgja$lef$1@sunsite.dk...
>> preg_replace ("/(,0)|(^0,)/", "", "0,45,0,46,47,0,48,0");
>
> Jeg skal helst bruge arrayet til andet end lige strengen så Jespers
> løsning er at foretrække

Ok, det synes jeg ikke lige fremgik. Du kan dog nemt lave et array
udfra den regexp'ede streng vha. explode:

$zero_str = "0,45,0,46,47,0,48,0";
$nozero_array = explode(",",preg_replace ("/(,0)|(^0,)/","",$zero_str));

Men det er selvf. en omvej at gå omkring strengen, hvis du kan fjerne
0'erne ved kilden.

--
mvh Jakob Kirkegaard

Jesper Brunholm (12-07-2002)
Kommentar
Fra : Jesper Brunholm


Dato : 12-07-02 12:52

Martin Højriis Kristensen wrote:
> Jeg har fået stirret mig blind på problemet.

> Jeg har et array med en række værdier.
> Jeg joiner array'et og sender det i en mail.
> Det kan fx give: "45,0,46,47,0,48"
> 0'erne har jeg ikke noget at bruge til, jeg vil hellere have
> "45,46,47,48"
>
> Jeg kan selvf. løbe array'et igennem og fjerne 0'erne, men findes der
> ikke en funktion der kan rense et array for en bestemt værdi?

jeg kunne ikke lige finde noget i "array functions", men den her gør det
(dog var det vel det du mente med at løbe arrayet igennem?)

<?php

$myarr=array(45,0,46,47,0,48);

foreach($myarr as $key => $content){
echo $content . ", ";
}

foreach($myarr as $key => $content){
   if ($content == 0){
      unset($myarr[$key]);
   }
}

foreach($myarr as $key => $content){
echo $content . ", ";
}


?>

--
Phønix - dansk folk-musik fra unge musikere - http://www.phonixfolk.dk


Peter Brodersen (12-07-2002)
Kommentar
Fra : Peter Brodersen


Dato : 12-07-02 13:07

On Fri, 12 Jul 2002 13:51:39 +0200, Jesper Brunholm
<nospam@brunholm-scharff.dk> wrote:

>foreach($myarr as $key => $content){
> echo $content . ", ";
>}

Eller bare:
print join(", ",$myarr);

(ja, ved godt at det er et eksempel - men jeg er selv glad for at
smide fx ord og lignende i arrays og så blot join'e med <br>, komma,
mellemrum eller hvad, der nu er passende)

--
- Peter Brodersen

Martin Højriis Krist~ (12-07-2002)
Kommentar
Fra : Martin Højriis Krist~


Dato : 12-07-02 12:58

"Jesper Brunholm" <nospam@brunholm-scharff.dk> skrev i en meddelelse
news:3D2EC2CB.3090607@brunholm-scharff.dk...
> jeg kunne ikke lige finde noget i "array functions", men den her gør
det

Ja, det var en fin lille funktion jeg gerne ville have haft, men din
kodestump gør tricket ganske fint.. Takker

--
Martin Højriis Kristensen - http://www.makr.dk/?usenet
Jeg repræsenterer med dette indlæg mig selv og ikke TDC Internet



Cecilie (12-07-2002)
Kommentar
Fra : Cecilie


Dato : 12-07-02 15:00

Det første elementet i at array kan fjernes på følgende måte:
array_shift($array);

Cecilie

"Martin Højriis Kristensen" <usenet@makr.dk> skrev i melding
news:3d2eb5a3$0$16804$edfadb0f@dspool01.news.tele.dk...
> Jeg har fået stirret mig blind på problemet.
>
> Jeg har et array med en række værdier.
> Jeg joiner array'et og sender det i en mail.
> Det kan fx give: "45,0,46,47,0,48"
> 0'erne har jeg ikke noget at bruge til, jeg vil hellere have
> "45,46,47,48"
>
> Jeg kan selvf. løbe array'et igennem og fjerne 0'erne, men findes der
> ikke en funktion der kan rense et array for en bestemt værdi?
>
> --
> Martin Højriis Kristensen - http://www.makr.dk/?usenet
> Jeg repræsenterer med dette indlæg mig selv og ikke TDC Internet
>
>



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408952
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste