php에서 str_split () 함수는 문자열을 배열로 분할하는 데 사용되는 매우 실용적인 기능입니다. 이 기능에는 두 가지 매개 변수가 있습니다.
첫 번째 매개 변수 : 분할 될 문자열입니다.
두 번째 매개 변수 : 각 배열 요소의 길이를 지정합니다 (즉, 세그먼트의 "블록"크기).
우리가 0을 두 번째 매개 변수로 전달하면 결과는 예상대로 아닐 수 있습니다. 오늘 우리는 str_split () 의 두 번째 매개 변수가 0 일 때 어떤 일이 발생하는지 깊이 탐색 할 것입니다.
먼저 str_split () 의 기본 사용법을 살펴 보겠습니다.
$str = "abcdef";
$result = str_split($str, 2);
print_r($result);
위의 코드는 문자열 "abcdef"를 각 요소에 대해 길이 2 배열로 나누고 출력은 다음과 같습니다.
Array
(
[0] => ab
[1] => cd
[2] => ef
)
다음으로 두 번째 매개 변수가 0 일 때 어떤 종류의 동작이 행동 할 것인지 테스트 해 봅시다.
$str = "abcdef";
$result = str_split($str, 0);
print_r($result);
위의 코드를 실행하면 PHP가 오류를보고합니다.
Warning: str_split(): The length of each chunk must be greater than 0 in /path/to/your/file.php on line X
이는 str_split () 함수가 두 번째 매개 변수가 0보다 클 것을 요구하기 때문입니다. 0이 전달되면 함수가 경고를 발행하고 문자열 분할 작업을 수행하지 않습니다.
str_split () 의 두 번째 매개 변수는 각 배열 요소의 최대 길이를 지정합니다. 이 값이 0 인 경우 PHP는 내부적으로 이것을 잘못된 길이로 간주하여 문자열을 제대로 처리하지 못하게합니다. 따라서 개발자가 0보다 큰 두 번째 매개 변수를 가져야한다는 경고를 트리거합니다.
위의 분석을 통해 str_split () 함수가 호출되면 두 번째 매개 변수가 0이 될 수 없다는 결론을 내릴 수 있습니다. 0, php가 경고를 던지고 문자열 분할을 올바르게 수행 할 수 없습니다. 따라서 항상 유효한 블록 크기 (0보다 큰 적분)가 전달되도록하는 것이 중요합니다.