Aus String Usernamen auslesen

PhoenixDH

Erfahrenes Mitglied
Ich bin gerade dabei ein Script zu machen, das es ermöglicht, eine PM an mehrere User gleichzeitig zu schicken, jetzt brauche ich ein sicheres Verfahren, welches mir die Empfänger aus dem String einzeln ausließt und dann die PM schickt, das ganze soll in einer while-Schleife sein !

Die Usernamen sollen mit ; getrennt werden !

Momentan sieht das ganze bei mir so aus:
Code:
$username = $username.";";
$name = $username;

while ( strlen($name) != 0)
{
$pos = strpos ($name, ";"); //Position 
$username = substr($name,0,$pos);
$pos = $pos+2;
$name = substr($name,$pos);
}

Das ganze ist aber nicht gut, denn ich muss immer noch ein ; an den Schluss anhängen, sonst klappt es nicht, genauso muss ich das
Code:
$pos = $pos+2;

machen, damit er mir ; und Leerzeichen abzieht für den neuen String !

Hat da vielleicht jemand ne elgegantere Lösung für mich ?
 
Stimmt, dann müsste ich quasi nur
Code:
$username = explode(";", $name);
$username = explode("; ", $name);

machen oder ?
 
Die erste Zeile reicht aus.
Dann kannst Du bei den Usernamen pruefen ob diese mit einem Leerzeichen beginnen und dieses gegebenenfalls wegschmeissen.
 
Habs gemerkt, die 1. Zeile reicht aus, aber wie gestallte ich dann die Schleife, denn ne while Schleife kann ich ja dann nimmer benutzen, dann ne for-Schleife oder was ?

Wie müsste die aussehen damit ich immer den aktuellen $username[] habe ?
 
Habs jetzt so:
Code:
<?php

$str = " Phoenix Admin;Admin; TEST";
$username = array();

$username = explode(";", $str);

for ($i=0; $i< $username ; $i++)
{
echo $username[$i]."<br>";
}

?>

SIeht mir aber nach Endlosschleife aus !
 
Du musst das schon wie in meinem Beispiel mit count() machen.
Damit stellst Du die Anzahl der Elemente im Array $username fest.
Da bei 0 angefangen wird zu zaehlen muss bei count-1 aufgehoert werden, daher $x<count($username)
 
Hoppla, das hab ich übersehen !

Gibt es eigentlich auch eine Möglichkeit aus der Schleife zu springen und beim nächsten weiterzumachen ?
 
Zurück