PHP : 구분 기호없이 explode와 같이 문자열을 배열로 분할
다음과 같은 문자열이 있습니다.
"0123456789"
각 문자를 배열로 분할해야합니다.
나는 지옥을 위해 시도했다.
explode('', '123545789');
그러나 그것은 나에게 명백한 : 경고 : No delimiter defined in explode) ..
이걸 어떻게 알게 될까요? 나는 손에서 어떤 방법도 볼 수 없으며, 특히 함수 만
$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의 문자열은 chars 배열처럼 액세스 할 수 있습니다. 대부분의 경우 문자열을 "새"배열로 분할 할 필요가 없습니다.
다음은 멀티 바이트 (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");
will actuall work pretty fine, BUT if you want to preserve the special characters in that string, and you want to do some manipulation with them, THAN I would use
do {
$array[] = mb_substr( $string, 0, 1, 'utf-8' );
} while ( $string = mb_substr( $string, 1, mb_strlen( $string ), 'utf-8' ) );
because for some of mine personal uses, it has been shown to be more reliable when there is an issue with special characters
'IT TIP' 카테고리의 다른 글
이 뷰는 수직으로 제한되지 않습니다. (0) | 2020.10.28 |
---|---|
한 번의 클릭으로 CheckListBox 항목을 확인하는 방법은 무엇입니까? (0) | 2020.10.28 |
Android / Eclipse : res / drawable 폴더에 이미지를 추가하려면 어떻게해야합니까? (0) | 2020.10.28 |
자바 스크립트를 사용하여 리디렉션하지 않고 URL 변경 (0) | 2020.10.28 |
Laravel 5-블레이드 전환 (0) | 2020.10.28 |