PHP String in Buchstaben zerlegen

M3Y3R

Well-known member
ID: 336361
L
8 Mai 2006
1.608
60
Hallo,

ich habe folgendes Problem...
Ich habe einen ganz normalen String.

Beispiel: "abc" oder "Test" oder wie auch immer...

Ich möchte diesen String nun in seine einzelnen Buchstaben zerlegen...
Mit explode() habe ich es bereits versucht, aber dies funktionierte nicht.
Wer kann mir da helfen?


MFG
Papenburger
 
Zuletzt bearbeitet:
Lass dir die Länge geben und zerlege den String über die Stringfuktionen [X] - je nachdem welche Sprache du benutzt, wird es da auch vorgefertigte Funktionen geben.
 
In C ist ein String nur ein Zeiger auf das erste Zeichen. Du kannst via Inkrement bis zum \0-Byte iterieren.
PHP:
while(*string != '\0')
  do_something(*string++);
 
Ich geh mal von PHP aus...
PHP:
$s = 'abc';
$a = preg_split('#.#', $s);
Schon solltest du dein Array haben!

edit: :wall:
Oder unter PHP5:
PHP:
$a= str_split($s);
 
In PHP ist ein String bereits ein Array seiner Einzelzeichen.
 
Nicht ohne Grund schreiben die Regeln vor, dass man anzugeben hat, um welche Sprache es geht... um eben genau sowas zu verhindern ;)
 
und in Java macht es der String Tokenizer

Wäre es nicht sinnvoll den String mit der Methode toCharArray() in ein char[] zu speichern? Dann kann man das Array iterativ durchgehen oder was man auch immer damit anfangen will.
Ich kenne den StringTokenizer eigentlich nur um nach einem bestimmten Zeichen zu trennen und nicht nach jedem Zeichen.
 
Wäre es nicht sinnvoll den String mit der Methode toCharArray() in ein char[] zu speichern? Dann kann man das Array iterativ durchgehen oder was man auch immer damit anfangen will.
Ich kenne den StringTokenizer eigentlich nur um nach einem bestimmten Zeichen zu trennen und nicht nach jedem Zeichen.

jetzt wo du es sagst fällt mir auch wieder auf das man bei dem StringTokenizer alle Zeichen angeben musste nach denen getrennt werden soll, von daher ist Deine Methode wohl die bessere :mrgreen:
 
Drum gibts ja den Unterschied char <-> byte.
 
Danke für die Zahlreichen antworten.
Dass ich vergessen habe zu sagen um welche Sprache es sich handelt habe ich nicht gewollt und auch nicht gemerkt.

Die Zerlegung des Strings mit PHP klappt wunderbar mit str_split()

:D

Danke nochmals allen !


Liebe Grüße
Papenburger
 
...Die Zerlegung des Strings mit PHP klappt wunderbar mit str_split()...
Da braucht man aber keine Funktion, denn $variable[0],$variable[1],... würde genauso klappen. Warum Code sinnlos verlängern/unleserlicher, -logischer machen?

EDIT: Und ja, es wurde schon von anderen erwähnt.
 
Zuletzt bearbeitet:
Da braucht man aber keine Funktion, denn $variable[0],$variable[1],... würde genauso klappen. Warum Code sinnlos verlängern/unleserlicher, -logischer machen?

Das habe ich mich auch gefragt - wir haben doch bereits extra erwähnt, dass PHP sämtliche strings bereits als Array verarbeitet.

$string[position], 0 bis length-1
 
Verstehe ich nicht...

Wenn ich in PHP einen String/Satz einer Variable zuweise:
PHP:
$variable1 = 'Test';
$variable2 = 'Ich bin ein Satz';

Dann bleibt das ja auch nen String...

Wenn ich euch nun richtig verstanden habe, soll man mit $variable[0] und sowas die Buchstanben ausgeben können...

Richtig ?
 
Verstehe ich nicht...

Wenn ich in PHP einen String/Satz einer Variable zuweise:
PHP:
$variable1 = 'Test';
$variable2 = 'Ich bin ein Satz';

Dann bleibt das ja auch nen String...

Wenn ich euch nun richtig verstanden habe, soll man mit $variable[0] und sowas die Buchstanben ausgeben können...

Richtig ?

Ein String ist kein String, sondern ein eindimensionales Array bestehend aus chars. In Deinem Beispiel sind beide $vars vom Type String. In Php kann man halt auf den char im string direkt zugreifen, mittels $var[x], wobei x die jeweilige Position des Chars im String ist ( beginnt immer bei 0 endet anzahl der zeichen -1 ).
Was bei Php mal eine sinnvolle Sache wäre, wenn man $variable[3-4] machen könnte, somit wäre substring hinfällig, aber intern macht es genau das gleiche ;) also - who cares ....