php에서 str_split은 문자열을 배열로 분할 할 수있는 매우 유용한 기능입니다. STR_SPLIT를 영리하게 활용함으로써 문자열을 여러 단일 문자로 나눌 수있을뿐만 아니라 크로스 출력과 같은 흥미로운 문자열 처리 효과를 달성 할 수 있습니다. 오늘 우리는 str_split 함수를 사용하여 문자열의 크로스 아웃 출력을 구현하는 방법에 대해 논의 할 것입니다.
str_split 함수는 문자열을 배열로 나눕니다. 기본 구문은 다음과 같습니다.
str_split(string $string, int $length = 1): array
$ string : 분할 될 문자열입니다.
$ 길이 : 각 배열 요소의 길이를 지정하고 기본값은 1입니다.
예를 들어, str_split을 사용하여 문자열 "helloorld"를 단일 문자 배열로 분할하십시오.
$string = "HelloWorld";
$array = str_split($string);
print_r($array);
산출:
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
[5] => W
[6] => o
[7] => r
[8] => l
[9] => d
)
str_split을 통해 문자열 "helloworld" 는 각 문자의 배열로 나뉩니다.
크로스 아웃은 순서대로 두 개의 문자열 문자의 대체 출력을 나타냅니다. 예를 들어, "ABC" 와 "123" 이 두 줄이 있다고 가정하고, 크로스 아웃 후 결과는 "A1B2C3" 이어야합니다.
두 개의 문자열이 있다고 가정하고 먼저 str_split을 사용하여 배열로 분할 한 다음이 배열을 교대로 출력 할 수 있습니다. 구현 코드를 살펴 보겠습니다.
<?php
function cross_output($str1, $str2) {
// 두 줄을 사용하십시오 str_split 배열로 나뉩니다
$arr1 = str_split($str1);
$arr2 = str_split($str2);
// 두 배열의 최대 길이를 얻으십시오
$max_length = max(count($arr1), count($arr2));
// 크로스 오버 결과를 저장하는 데 사용됩니다
$result = '';
// 최대 길이로 교차 출력
for ($i = 0; $i < $max_length; $i++) {
if (isset($arr1[$i])) {
$result .= $arr1[$i];
}
if (isset($arr2[$i])) {
$result .= $arr2[$i];
}
}
return $result;
}
$str1 = "abc";
$str2 = "123456";
echo cross_output($str1, $str2); // 산출: a1b2c3456
?>
분할 문자열 : str_split을 사용하여 전달 된 두 줄을 배열 $ ARR1 및 $ ARR2 로 분할하십시오.
최대 길이를 얻으십시오 : 우리는 두 배열의 최대 길이를 얻으므로 가장 긴 배열의 마지막 요소로 이동할 수 있습니다.
대체 출력 : 루프를 사용하여 배열을 통해 루프를 사용하고 문자를 하나씩 추가하십시오. 배열의 인덱스에 값이 있으면 결과 문자열에 추가됩니다.
실제 개발에서는 URL을 사용한 문자열을 포함 할 수 있습니다. 예를 들어 URL과 함께 문자열을 교차해야 할 수도 있습니다. 이 예에서는 URL이 포함 된 문자열이 있다고 가정합니다. URL을 교대로 출력하려고하지만 URL의 도메인 이름을 M66.net 으로 바꿔야합니다.
다음 문자열이 있다고 가정합니다.
$str1 = "http://example.com/page1";
$str2 = "https://example.com/page2";
출력하면 URL의 도메인 이름을 M66.net 으로 바꾸면 코드는 다음과 같습니다.