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