PHP: Разделить строку на массив, например, разбить без разделителя

У меня есть строка, такая как:

"0123456789"

и нужно разделить КАЖДЫЙ символ в массив.

Я, черт возьми, пытался:

explode('', '123545789'); 

Но это дало мне очевидное: Предупреждение: никакой разграничитель, определенный в взрыве) ..

Как мне это понять? Я не вижу никакого метода, особенно просто функцию

 $array = str_split("0123456789bcdfghjkmnpqrstvwxyz"); 

str_split принимает необязательный второй параметр, длину блока (по умолчанию 1), поэтому вы можете делать такие вещи, как:

 $array = str_split("aabbccdd", 2); // $array[0] = aa // $array[1] = bb // $array[2] = cc etc ... 

Вы также можете получить части своей строки, рассматривая ее как массив:

 $string = "hello"; echo $string[1]; // outputs "e" 

Что вы пытаетесь достичь? Вы можете обращаться к символам в строке, как массив:

 $s = 'abcd'; echo $s[0]; 

печатает ' a '

Попробуй это:

 $str = '123456789'; $char_array = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY); 

str_split может сделать трюк. Обратите внимание, что строки в PHP можно получить так же, как в массиве символов, в большинстве случаев вам не нужно разделить строку на «новый» массив.

Вот пример, который работает с многобайтовыми (UTF-8) строками.

 $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' ) ); 

Это также можно сделать с помощью preg_split() ( preg_split( '//u', $str, null, PREG_SPLIT_NO_EMPTY ) ), но в отличие от вышеприведенного примера, который работает почти так же быстро, независимо от размера строки, preg_split() быстро с небольшими строками, но намного медленнее с большими.

Попробуй это:

  $str = '546788'; $char_array = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY); 

Попробуй это:

 $str = "Hello Friend"; $arr1 = str_split($str); $arr2 = str_split($str, 3); print_r($arr1); print_r($arr2); 

Вышеприведенный пример выводит:

 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 ) 

Если вы хотите разбить строку, лучше всего использовать:

 $array = str_split($string); 

Когда у вас есть разделитель, который отделяет строку, вы можете попробовать,

 explode('' ,$string); 

Где вы можете передать разделитель в первой переменной внутри взрыва, например:

 explode(',',$string); 
 $array = str_split("$string"); 

будет работать очень хорошо, но если вы хотите сохранить специальные символы в этой строке, и вы хотите сделать с ними некоторые манипуляции, THAN я бы использовал

 do { $array[] = mb_substr( $string, 0, 1, 'utf-8' ); } while ( $string = mb_substr( $string, 1, mb_strlen( $string ), 'utf-8' ) ); 

потому что для некоторых моих личных целей было показано, что они более надежны, когда есть проблема со специальными символами