Hallo EmCee,
Ich habe folgenden code hier:
<?php
//PassString V is undual.
$passv = 3107363994953.1x3.9463522735905E+14x7.9242753653697E+17x1.006382971402E+20x9.1681488694718E+22;//split to array: $passox by x:
$passox = explode("x", $passv);//testprint
print"<br />PassString OX is:<br />$passox<br />";
?>Die ausgabe, die erfolgt ist "Array" (ohne "-Zeichen)..
Woran kann das liegen?
Das liegt ganz einfach daran, das die Funktion explode() deinen Angegebenen String an den angegebenen Positionen ("x") abtrennt und in ein Array zwischenspeichert, wobei der Index des Arrays bei 0 beginnt und bis zur Anzahl des letzten Elementes geht, in deinem Beispiel hier von 0 bis (einschliesslich)4.
Ansprechen kannst du die Werte zur Ausgabe indem du das so schreibst:
echo "1.Element:".$passox[0]."<br>";
echo "2.Element:".$passox[1]."<br>";
...
echo "5.Element:".$passox[4]."<br>";
Falls aber die Anzahl der Elemente variiert, musst du das ganze dynamisch lösen, zb so:
$AnzahlElemente = count($passox);
for($n=0;$n<$AnzahlElemente;$n++)
{
echo $n. ". Element:".$passox[$n]."<br>";
}
Die Funktion Count() liefert dir die Menge der Indexe zurück, die in diesem Array gespeichert sind, darauffolgend sagst du einfach du machst eine Schleife, die sich solange wiederholt, solange der interne Zähler ($n) kleiner als die Menge der ausgelesenen Indexe ($AnzahlElemente) ist.
Was ich nicht verstehe, sollte das nicht ein String sein ?
$passv = 3107363994953.1x3.9463522735905E+14x7.9242753653697E+17x1.006382971402E+20x9.1681488694718E+22;
Laut deiner Schreibweise interpretiert PHP den Wert als Zahl, das dürfte so nicht funktionieren.(Zumindest glaube ich das :) )
Grüsse,
Daniel