PHP에서 문자열 세분화는 특히 양식, URL 또는 기타 텍스트 소스에서 데이터 추출을 처리 할 때 일반적인 작업 중 하나입니다. PHP는 문자열을 분할하기위한 다양한 기능을 제공하며, 그 중 STR_SPLIT 및 EXPOIT가 가장 일반적으로 사용되는 두 가지입니다. 그것들은 모두 줄을 나누는 데 사용될 수 있지만 다르게 행동합니다. 이 두 기능의 차이점을 이해하는 것은 개발자에게 매우 중요합니다. 특히 문자열을 다룰 때 올바른 기능을 선택해야합니다. 이 기사는이 두 기능을 자세히 비교하여 차이점과 응용 시나리오를 이해하는 데 도움이됩니다.
str_split 함수의 주요 함수는 지정된 길이에 따라 문자열을 배열로 분할하는 것입니다. 구문은 다음과 같습니다.
array str_split ( string $string [, int $length = 1 ] )
$ string : 분할 될 문자열입니다.
$ 길이 : 각 기판의 길이, 기본값은 1입니다.
예를 들어:
$string = "HelloWorld";
$result = str_split($string, 3);
print_r($result);
출력 결과는 다음과 같습니다.
Array
(
[0] => Hel
[1] => loW
[2] => orl
[3] => d
)
이 예에서, "HelloWorld" 문자열은 각각 3자를 포함하는 배열 요소로 분할됩니다. STR_SPLIT는 분리기 또는 특정 문자를 고려하지 않지만 주어진 길이로 분할됩니다. 문자열의 길이를 지정된 길이로 나눌 수없는 경우 마지막 요소에는 나머지 문자가 포함될 수 있습니다.
STR_SPLIT 와 달리, 악용은 지정된 구분 기호에 따라 줄을 배열로 분할하십시오. 구문은 다음과 같습니다.
array explode ( string $delimiter , string $string [, int $limit = PHP_INT_MAX ] )
$ delimiter : 끈을 분할하는 데 사용되는 구분 기.
$ string : 분할 될 문자열입니다.
$ 한도 : 배열의 대부분의 요소의 수는 기본값이 php_int_max 입니다. 이는 제한이 없음을 나타냅니다.
예를 들어:
$string = "apple,orange,banana";
$result = explode(",", $string);
print_r($result);
출력 결과는 다음과 같습니다.
Array
(
[0] => apple
[1] => orange
[2] => banana
)
이 예에서 악용 함수는 구분을 분리기로 쉼표로 여러 단어로 나눕니다. Explode를 사용하면 특정 문자 (예 : 쉼표, 공간 또는 기타 기호)에 따라 분할 방식을 제어 할 수 있습니다.
분할 방법 : str_split은 문자열을 고정 길이로 분할하는 반면 탐색은 지정된 분리기로 문자열을 분할하는 것입니다.
애플리케이션 시나리오 : str_split 은 각 하위 문자열의 길이를 알 때 문자열을 분할하는 데 적합하지만, 분리기 (예 : 공백, 쉼표 등)를 알 때는 현악기 분할에 적합합니다.
나머지 문자 처리 : 문자열의 길이를 str_split 의 길이로 완전히 나눌 수없는 경우 마지막 부분에는 나머지 문자가 포함됩니다. 이는 Exploit 에서는 발생하지 않으며, 이는 분리기를 기반으로 문자열을 가능한 많은 부분으로 분할합니다.
반환 결과 : 둘 다 반환 배열이지만 str_split 에 의해 반환 된 배열 요소는 일반적으로 고정 길이이며, Exploit에 의해 반환 된 배열 요소는 구분 기호에 의해 결정됩니다.
$string = "apple123orange456banana";
$result = str_split($string, 3);
print_r($result);
산출:
Array
(
[0] => app
[1] => le1
[2] => 23
[3] => ora
[4] => nge
[5] => 45
[6] => 6ba
[7] => nan
[8] => a
)
$string = "apple123,orange456,banana";
$result = explode(",", $string);
print_r($result);
산출:
Array
(
[0] => apple123
[1] => orange456
[2] => banana
)
위의 예를 들어, 우리는이 두 기능이 문자열을 다룰 때의 다양한 방법을 명확하게 볼 수 있습니다.
STR_SPLIT는 문자열이 고정 길이로 분할 해야하는 시나리오에 더 적합합니다.
폭발은 특히 CSV, 텍스트 데이터 또는 URL을 처리 할 때 Delimiter에 의해 문자열을 분할하는 데 더 적합합니다.
개발자의 경우 사용할 기능을 선택하는 것은 실제 요구에 따라 다릅니다. 문자의 고정 위치를 기준으로 문자열을 분할 해야하는 경우 str_split이 더 나은 선택입니다. 특정 문자 나 패턴을 기준으로 문자열을 분할 해야하는 경우 의심 할 여지없이 더 적합합니다.