Einzelne Stellen in Array-Elemente umwandeln
Kieselnator
- php
0 ChrisB0 zaphod19840 peter0 Texter mit x0 peter
Hello together!
Ich möchte einen String aus drei Ziffern in Array-Elemente umwandeln. So sieht's bei mir momentan aus:
$i = 428;
$parts = explode("", $i);
//Daraus wird dann logischerweise:
$zahl1 = $parts[0];
$zahl2 = $parts[1];
$zahl3 = $parts[2];
Ich bin momentan ziemlich auf dem Schlauch, denn er sagt mir das "" ein leere Abgrenzer ist - Was der Leerstring ja auch ist.
Wie kann ich das Anders lösen?
Vielen Dank, mfg Kieselnator
Hi,
Ich möchte einen String aus drei Ziffern in Array-Elemente umwandeln. So sieht's bei mir momentan aus:
$i = 428;
$parts = explode("", $i);
//Daraus wird dann logischerweise:
$zahl1 = $parts[0];
$zahl2 = $parts[1];
$zahl3 = $parts[2];
> Wie kann ich das Anders lösen?
Bspw., in dem du die Zahl in einen String castest, so dass du dann mit den eckigen Klammern ganz einfach auf die einzelnen Zeichenpositionen zugreifen kannst:
~~~php
$i = 428;
$iString = (string)$i;
echo $iString[0];
MfG ChrisB
Bspw., in dem du die Zahl in einen String castest, so dass du dann mit den eckigen Klammern ganz einfach auf die einzelnen Zeichenpositionen zugreifen kannst:
Das funktioniert nur solange das einzige Ziel dieser Umwandlung der indizierte Zugriff auf Zeichen ist.
Wenn irgendwelche Arrayoperationen gemacht werden sollen, z.B. foreach, array_sort etc., schlägt das fehl.
Als ich das mal gebraucht hab bin ich mit einer Schleife drüber gelaufen und hab die Werte einzeln in ein Array geschrieben.
Ist aber eine hässliche und unperformante Lösung, aber ich hatte zu dem Zeitpunkt keine Lust und Zeit drüber nachzudenken, außerdem wars was unkritisches was eh wieder in der Tonne gelandet ist.
Hi,
schau mal nach "str_split".
(Ab PHP 5)
gruß
peter
schau mal nach "str_split".
(Ab PHP 5)
oder chunk_split
schau mal nach "str_split".
(Ab PHP 5)oder chunk_split
chunk_split gibt aber einen String zurück und kein Array.
gruß
peter
schau mal nach "str_split".
(Ab PHP 5)oder chunk_split
chunk_split gibt aber einen String zurück und kein Array.
Ich weiß, so steht es ja in der Dokumentation. Das Ergebnis könnte man aber z.B. mit explode behandeln. Ich persönlich favorisiere hier ohnehin den Direktzugriff.