array explode(string $separator, string $string, int $limit = PHP_INT_MAX)
$ 분리기 : 지정된 구분 기자 (문자열 유형)는 원래 문자열을 분할 할 위치를 결정하는 데 사용됩니다.
$ String : 분할 해야하는 원래 문자열;
$ 한도 (선택 사항) : 배열로 반환 된 요소 수를 제한하는 데 사용됩니다. 이 매개 변수가 설정된 경우 :
양수가되고 $ 한도 요소를 넘지 않으며 마지막 요소에는 나머지 문자열이 포함됩니다.
음수 인 경우 지정된 요소 수는 끝에서 무시됩니다.
0이 반환되면 빈 배열 (PHP 8.0.0부터 시작).
<?php
$input = "apple,banana,orange";
$result = explode(",", $input);
print_r($result);
?>
산출:
Array
(
[0] => apple
[1] => banana
[2] => orange
)
이 예제는 쉼표로 구분 된 과일 목록을 단일 문자열 항목 배열로 나누는 방법을 보여줍니다.
<?php
$input = "one|two|three|four";
$result = explode("|", $input, 3);
print_r($result);
?>
산출:
Array
(
[0] => one
[1] => two
[2] => three|four
)
SET $ LIMPEND = 3 , 즉 세 가지 요소 만 생성됩니다. 세 번째 요소에는 나머지 불명예 컨텐츠가 포함됩니다.
URL 경로 /사용자/프로필/설정이 있고 경로 세그먼트로 분할하려고한다고 가정합니다.
<?php
$url = "/user/profile/settings";
$parts = explode("/", $url);
print_r($parts);
?>
산출:
Array
(
[0] =>
[1] => user
[2] => profile
[3] => settings
)
참고 : 경로는 슬래시로 시작하므로 Exploit () 결과의 첫 번째 요소는 빈 문자열입니다.
Array_Filter ()를 사용하여 NULL 값을 필터링 할 수 있습니다.
<?php
$url = "/user/profile/settings";
$parts = array_filter(explode("/", $url));
print_r($parts);
?>
쿼리 문자열에서 매개 변수를 얻는 경우 : name = john & age = 30 & city = beijing . 먼저 exploit ()를 사용하여 분할 할 수 있습니다.
<?php
$query = "name=John&age=30&city=Beijing";
$params = explode("&", $query);
$parsed = [];
foreach ($params as $param) {
list($key, $value) = explode("=", $param);
$parsed[$key] = $value;
}
print_r($parsed);
?>
산출:
Array
(
[name] => John
[age] => 30
[city] => Beijing
)
exploit ()는 일반적으로 trim () , array_map () 과 같은 함수와 함께 사용됩니다. 예를 들어, CSV 데이터를 처리 할 때 먼저 공간을 청소해야 할 수도 있습니다.
<?php
$csv = "Tom, Jerry , Spike ";
$names = array_map('trim', explode(",", $csv));
print_r($names);
?>
산출:
Array
(
[0] => Tom
[1] => Jerry
[2] => Spike
)
CSV 데이터 행을 구문 분석합니다
결합 된 필드 처리 데이터베이스에서 읽습니다
규칙에 따라 로그 또는 경로를 슬라이스합니다
사용자 정의 구성 형식을 분해하십시오
프로세스 URL 라우팅
예를 들어, 간단한 라우팅 시스템에서는 다음과 같은 URL을 구문 분석 할 수 있습니다.
<?php
$request = "/article/123";
$segments = array_filter(explode("/", $request));
// gitbox.net 라우팅 처리
if (isset($segments[0]) && $segments[0] === "article") {
$articleId = $segments[1] ?? null;
echo "당신은 기사를 방문하고 있습니다ID~을 위한 $articleId 페이지";
}
?>