[PHP] Explode & array

Gestart doorAntonn3 reacties14 weergaven

4 berichten · pagina 1 van 1

Antonn

Lid · Topicstarter

Berichten
8.649
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
[COLOR= #0000BB]<?php
$array[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/explode"]explode[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"
"[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$_POST[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]mails[/COLOR][COLOR= #007700]]);[/COLOR]
[URL="http://www.php.net/foreach"]foreach[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$array[/COLOR] [COLOR= #007700]as[/COLOR] [COLOR= #0000BB]$nu[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$maill[/COLOR][COLOR= #007700]) {[/COLOR]
[COLOR= #0000BB]$num[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$nu[/COLOR] [COLOR= #007700]+[/COLOR] [COLOR= #0000BB]1[/COLOR][COLOR= #007700];[/COLOR]
[COLOR= #0000BB]$niet[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]" "[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]"
"[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]"&nbsp;"[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]"<br />"[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]""[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]" "[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]"  "[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]" "[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]" "[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]"
"[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$mail[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/str_replace"]str_replace[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$niet[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]""[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$maill[/COLOR][COLOR= #007700]);[/COLOR]
[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$num[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]" is ""[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$mail[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]""<br />"[/COLOR][COLOR= #007700];
}
}[/COLOR]
?>


Dat is mijn code, ik wil die gebruiken voor een mail systeem. Ik plaats op elke regel een mailadres, en hij maakt er een array van. Werkt perfect! Alleen, achter elke mail van de POST komt een spatie te staan, behalve bij de laatste. Ik krijg deze niet weg. Iemand raad?

Voorbeeld:

"plof@boem.com
plof@boem.complof@boem.com
plof@boem.com
plof@boem.com

plof@boem.com"

geeft dit als output:

"1 is "plof@boem.com "
2 is "plof@boem.complof@boem.com "
3 is "plof@boem.com "
4 is "plof@boem.com "
5 is " "
6 is "plof@boem.com""
0
Antonn

Lid · Topicstarter

Berichten
8.649
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Bump
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Ik vind het al raar dat je dit uitgevoerd krijgt, omdat er een fout in staat (een dubbele }). Of er mist nog code.

Anyway, je moet echt leren je code goed uit te lijnen en beter letten op de naamgeving van variabelen en op welke plek je een var aanmaakt.
Bij jouw script maak je nu voor elke aangemaakte email een filter-array aan. Terwijl die maar enkel éénmalig aangemaakt hoeft te worden.
Ook explode je op n en vervolgens wil je dat er weer uit filteren. Echter is bij het exploden de n al weggehaald.

Anyway, ik denk dat dit moet werken. Ik heb het echter niet uitgetest.

[COLOR= #0000BB]<?php
$arrMails[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/explode"]explode[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"n"[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$_POST[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]mails[/COLOR][COLOR= #007700]]);[/COLOR]
[COLOR= #0000BB]$arrFilter[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]" "[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]"&nbsp;"[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]"<br />"[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]"  "[/COLOR][COLOR= #007700]);[/COLOR]

[URL="http://www.php.net/foreach"]foreach[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$arrMails[/COLOR] [COLOR= #007700]as[/COLOR] [COLOR= #0000BB]$tmpId[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$tmpMail[/COLOR][COLOR= #007700]) {[/COLOR]
    [COLOR= #0000BB]$strMail[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/str_replace"]str_replace[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$arrFilter[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]""[/COLOR][COLOR= #007700],[/COLOR] [URL="http://www.php.net/trim"]trim[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$tmpMail[/COLOR][COLOR= #007700]));[/COLOR]
    [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$tmpId[/COLOR][COLOR= #007700]+[/COLOR][COLOR= #0000BB]1[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #DD0000] is "[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$strMail[/COLOR] [COLOR= #007700].[/COLOR][COLOR= #DD0000]"<br />[/COLOR][COLOR= #007700];
}[/COLOR]
?>
0
Antonn

Lid · Topicstarter

Berichten
8.649
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Rik schreef:
Ik vind het al raar dat je dit uitgevoerd krijgt, omdat er een fout in staat (een dubbele }). Of er mist nog code.

Anyway, je moet echt leren je code goed uit te lijnen en beter letten op de naamgeving van variabelen en op welke plek je een var aanmaakt.
Bij jouw script maak je nu voor elke aangemaakte email een filter-array aan. Terwijl die maar enkel éénmalig aangemaakt hoeft te worden.
Ook explode je op n en vervolgens wil je dat er weer uit filteren. Echter is bij het exploden de n al weggehaald.

Anyway, ik denk dat dit moet werken. Ik heb het echter niet uitgetest.
[COLOR= #0000BB]<?php
$arrMails[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/explode"]explode[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"n"[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$_POST[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]mails[/COLOR][COLOR= #007700]]);[/COLOR]
[COLOR= #0000BB]$arrFilter[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]" "[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]"&nbsp;"[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]"<br />"[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]"  "[/COLOR][COLOR= #007700]);[/COLOR]

[URL="http://www.php.net/foreach"]foreach[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$arrMails[/COLOR] [COLOR= #007700]as[/COLOR] [COLOR= #0000BB]$tmpId[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$tmpMail[/COLOR][COLOR= #007700]) {[/COLOR]
    [COLOR= #0000BB]$strMail[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/str_replace"]str_replace[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$arrFilter[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]""[/COLOR][COLOR= #007700],[/COLOR] [URL="http://www.php.net/trim"]trim[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$tmpMail[/COLOR][COLOR= #007700]));[/COLOR]
    [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$tmpId[/COLOR][COLOR= #007700]+[/COLOR][COLOR= #0000BB]1[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #DD0000] is "[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$strMail[/COLOR] [COLOR= #007700].[/COLOR][COLOR= #DD0000]"<br />[/COLOR][COLOR= #007700];
}[/COLOR]
?>


Zal straks uitproberen, alvast bedankt.
Over de haakjes, bovenaan staat er nog ergens een if, maar die was niet nodig om gepost te worden.

toevoeging op 9 februari 2012, 211707:
thanks smile Hij werkt
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren