먼저 두 메서드의 정의를 살펴보겠습니다.
함수 프로토타입: 배열 분할(string $pattern, string $string [, int $limit])
함수 프로토타입: 배열 explod (string $separator, string $string [, int $limit])
얼핏 보면 차이가 없고 동일한 기능을 하는 것처럼 보입니다. 제가 이런 실수를 했습니다. 두 함수의 첫 번째 매개변수는 string $pattern과 string 구분 기호인데, 하나는 $pattern이 일반 문자열이고, 다른 하나는 $separator가 일반 문자열이라는 점에 유의하세요.
아래 코드를 보세요.
코드 복사 코드는 다음과 같습니다.
$test = end(explode('.', 'abc.txt'))
echo $test;// 출력 txt
는 다음으로 대체됩니다.
코드 복사 코드는 다음과 같습니다.
$test1 = end(split('.','abc.txt'));
echo $test1;// 출력 없음
split을 사용하는 올바른 방법은 이스케이프 기호를 추가하는 것입니다.
코드 복사 코드는 다음과 같습니다.
$test1 = end(split( '.','abc.txt'));
echo $test1;//output txt
분석: "." 기호는 정규 표현식의 키워드이므로 분할이 유효하지 않습니다. 하지만 폭발은 유효합니다.