Zeichenkette in ARRAY wandeln und verändern???
julius
- php
hallo allesamt,
ich habe eine zeichenkette in einer datenbank stehen, (also zb.: 2,5,6,8,12).
Diese holt sich das Script und speichert sie in einer variablen ab (zb.: $var1).
Diese Zeichenkette soll nun so manipuliert werden, dass jeweils vor jede zahl ein f geschrieben wird und in einer neuen variablen abgespeichert.
Das ergebnis soll also so ausehen:
f2, f5, f5, f8, f12
wie könnte man das machen?
ich dachte, man wandelt erstmal die zeichenkette in ein array,
$var2 = explode(",", $var1);
aber wie klappt das dann mit der manipulation?
hilfe wäre echt toll
danke,
julius
Hallo,
Das ergebnis soll also so ausehen:
f2, f5, f5, f8, f12
aber wie klappt das dann mit der manipulation?
String "explodieren", f vor die Arrayelemente setzen und Array wieder in String "implodieren":
<?php
$var1="2,5,6,8,12";
$var2 = explode(",",$var1);
for($i=0;$i<count($var2);$i++)
{
$var2[$i]="f".$var2[$i];
}
$var2=implode(", ",$var2); // f2, f5, f6, f8, f12
print $var2;
?>
Ich habe wie gewuenscht Komma+Leerzeichen bei implode() verwendet, falls das Leerzeichen doch nicht sein soll, dann einfach entfernen.
MfG, Thomas
Hallo
kommt es aus ner zeile in der Datenbank oder aus einer Zelle? Weil normaler Weise sind die schon ein array. beispiel:
ID l1 l2 l3 ....
1 1 3 2 7
2 2 4 1 10
3 4 5 5 5
wenn du nun eine Zeile darausholst mit:
SELECT * FROM dbtabelle WHERE ID=1;
dann bekommste ein
Array(
[0] => 1
[1] => 3
[2] => 2
[3] => 7
)
ich weiss jetzt nicht genau wie des mit den "keys" aussieht. Es koennte auch sein, dass der Array als Associative und numerical ausgeben wird. dann haste halt ne alternative. [ID], [l1], [l2], [l3], etc.
hoffe das hilft. Da musste gar nichts imploden etc. Aber sonst geht die variante hier oben von Thomas
ciao Tilman
Hallo julius!
ich habe eine zeichenkette in einer datenbank stehen, (also zb.: 2,5,6,8,12) [...] soll nun so manipuliert werden, dass jeweils vor jede zahl ein f geschrieben wird ... ergebnis: f2, f5, f5, f8, f12
mittels Stringmanipulation ganz einfach: Ersetze jedes "," durch ", f" und füge am Anfang ein "f" ein.
$text="2,5,6,8,12";
$f_text="f"+str_replace("," , ",f " ,$text);
Gruss,
Carsten