PHP 에서 explode 함수 와 split 함수 의 차이 점 소결
이 두 함수 의 역할 이 비슷 하기 때문에 문자열 을 배열 로 바 꾸 었 습 니 다.
2.폭발
아래 의 예 를 통 해 알 수 있 듯 이 생 성 된 배열 은 대응 하 는 순서 가 있다.
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2
// 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *
첫 번 째 인자 가 빈 문자열 이면Warning
생 성 됩 니 다.
var_dump( explode('','asdasd') );
//Warning: explode(): Empty delimiter in /tmp/e80c9663-e392-4f81-8347-35726052678f/code on line 3
//bool(false)
3.split(PHP 4, PHP 5)
split
정규 표현 식 으로 문자열 을 배열 로 나 눕 니 다.주의해 야 할 것 은 위 에 PHP 7 이 없다 는 것 이다.즉,split 함수 가 PHP 7 을 지원 하지 않 는 다 는 것 이다.
$date = "04/30/1973";
list($month, $day, $year) = split ('[/.-]', $date);
echo "Month: $month; Day: $day; Year: $year<br />
";
//PHP 7
Fatal error: Uncaught Error: Call to undefined function split() in /tmp/4d38c290-b4cb-43f5-846a-9fa90784a090/code:4
Stack trace:
#0 {main}
thrown in /tmp/4d38c290-b4cb-43f5-846a-9fa90784a090/code on line 4
//PHP 5.6
Month: 04; Day: 30; Year: 1973
split
의 첫 번 째 매개 변 수 는 정규 표현 식 입 니 다.즉,특수 문자 와 일치 하려 면 의 미 를 바 꿔 야 합 니 다.
$arr='2016\8\11';
$rearr = split ('[/\]', $arr);
var_dump($rearr)
/*
array(3) {
[0]=>
string(4) "2016"
[1]=>
string(1) "8"
[2]=>
string(2) "11"
}
*/
정규 표현 식pattern
의 문법 을 사용 해 야 하기 때문에 검색 속도 가 빠 르 지 않 습 니 다.preg_split()
함 수 는 Perl 호 환 정규 표현 식 문법 을 사 용 했 습 니 다.보통split()
보다 빠 른 대체 방안 입 니 다.정규 표현 식 의 위력 이 필요 하지 않 으 면 사용explode()
이 빠 르 고 정규 표현 식 엔진 의 낭 비 를 초래 하지 않 습 니 다.효율 적 인 이유 로 PHP 7 에서 이 함 수 를 포기 하 게 되 었 을 수도 있 습 니 다.
총화
이상 은 PHP 에서 explode 함수 와 split 함수 가 구별 되 는 모든 내용 을 정리 하 는 것 입 니 다.여러분 의 학습 과 업무 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.