Ich habe eine Zeichenfolge wie:
0123456789
und müssen JEDES Zeichen in ein Array aufteilen.
Ich zum Teufel habe es versucht:
explode('', '123545789');
Aber es gab mir das Offensichtliche: Warnung: Kein Trennzeichen in explodieren definiert) ..
Wie würde ich darauf stoßen? Ich kann keine Methode ohne weiteres sehen, insbesondere nur eine Funktion
Was versuchst du zu erreichen? Sie können wie ein Array auf Zeichen in einer Zeichenfolge zugreifen:
$s = 'abcd'; echo $s[0];
quelle
Versuche dies:
$str = '123456789'; $char_array = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
quelle
$str
keine Länge hat.$str
und festzulegen,$char_array = array()
obstrlen
0 zurückgegeben wird.str_split
kann den Trick machen. Beachten Sie, dass auf Zeichenfolgen in PHP wie auf ein Zeichen-Array zugegriffen werden kann. In den meisten Fällen müssen Sie Ihre Zeichenfolge nicht in ein "neues" Array aufteilen.quelle
Hier ist ein Beispiel, das mit UTF-8-Zeichenfolgen (Multibyte) funktioniert.
$str = 'äbcd'; // PHP 5.4.8 allows null as the third argument of mb_strpos() function do { $arr[] = mb_substr( $str, 0, 1, 'utf-8' ); } while ( $str = mb_substr( $str, 1, mb_strlen( $str ), 'utf-8' ) );
Dies kann auch mit
preg_split()
(preg_split( '//u', $str, null, PREG_SPLIT_NO_EMPTY )
) erfolgen, ist jedoch im Gegensatz zum obigen Beispiel, das unabhängig von der Größe der Zeichenfolge fast genauso schnell ausgeführtpreg_split()
wird, bei kleinen Zeichenfolgen schnell, bei großen Zeichenfolgen jedoch viel langsamer.quelle
Versuche dies:
$str = '546788'; $char_array = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
quelle
Versuche dies:
$str = "Hello Friend"; $arr1 = str_split($str); $arr2 = str_split($str, 3); print_r($arr1); print_r($arr2);
Das obige Beispiel gibt Folgendes aus:
Array ( [0] => H [1] => e [2] => l [3] => l [4] => o [5] => [6] => F [7] => r [8] => i [9] => e [10] => n [11] => d ) Array ( [0] => Hel [1] => lo [2] => Fri [3] => end )
quelle
Wenn Sie die Zeichenfolge teilen möchten, verwenden Sie am besten Folgendes:
Wenn Sie ein Trennzeichen haben, das die Zeichenfolge trennt, können Sie Folgendes versuchen:
explode('' ,$string);
Wo Sie das Trennzeichen in der ersten Variablen innerhalb der Explosion übergeben können, wie z.
explode(',',$string);
quelle
$array = str_split("$string");
wird tatsächlich ziemlich gut funktionieren, ABER wenn Sie die Sonderzeichen in dieser Zeichenfolge beibehalten möchten und einige Manipulationen mit ihnen vornehmen möchten, als ich verwenden würde
do { $array[] = mb_substr( $string, 0, 1, 'utf-8' ); } while ( $string = mb_substr( $string, 1, mb_strlen( $string ), 'utf-8' ) );
weil es sich für einige meiner persönlichen Zwecke als zuverlässiger erwiesen hat, wenn es ein Problem mit Sonderzeichen gibt
quelle