PHP: 문자열을 배열로 분할합니다(예: 구분 기호 없이 분해).
다음과 같은 문자열이 있습니다.
"0123456789"
그리고 각 문자를 배열로 분할해야 합니다.
난, 장난삼아, 노력했어:
explode('', '123545789');
하지만 그건 내게 명백한 사실을 주었다.경고: 분해에 정의된 구분 기호가 없습니다.) ..
내가 이걸 어떻게 발견하겠어?당장 어떤 방법도 볼 수 없고, 특히 기능만 볼 수 있다.
$array = str_split("0123456789bcdfghjkmnpqrstvwxyz");
str_param은 옵션의 두 번째 파라미터인 청크 길이(기본값 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( '//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");
실제로는 꽤 잘 동작하지만, 그 문자열의 특수 문자를 보존하고 싶다면, 그 문자열로 조작을 조작하고 싶다면,
do {
$array[] = mb_substr($string, 0, 1, 'utf-8');
} while ($string = mb_substr($string, 1, mb_strlen($string), 'utf-8'));
왜냐하면 제 개인적인 용도 중 일부에서는 특수 캐릭터에 문제가 있을 때 더 신뢰할 수 있는 것으로 나타났기 때문입니다.
언급URL : https://stackoverflow.com/questions/2170320/php-split-string-into-array-like-explode-with-no-delimiter
'source' 카테고리의 다른 글
여러 테이블에서 *를 선택합니다.MySQL (0) | 2022.09.18 |
---|---|
Java, ArrayList에서 Integer 항목을 삭제하는 방법 (0) | 2022.09.18 |
브라우저 창/탭이 닫혔을 때 localStorage 항목을 삭제하는 방법 (0) | 2022.09.12 |
.jar 파일에서 소스 코드를 추출합니다. (0) | 2022.09.12 |
RegEx를 사용하여 두 XML 태그 간의 모든 정보 검색 (0) | 2022.09.12 |