1. 문자열 비교
PHP에서는 ==(이중 등호) 또는 ===(삼중 등호)를 사용하여 문자열을 비교할 수 있습니다. 둘 사이의 차이점은 이중 등호는 유형을 비교하지 않고 삼중 등호는 유형을 비교하지만 이중 등호와 비교할 때 왼쪽에 숫자 값이 있고 유형을 변환하지 않는다는 것입니다. 등호 오른쪽에 있는 다른 값은 숫자로 변환되어 비교됩니다. 이 경우 순수 문자열이거나 NULL이면 비교를 위해 0으로 변환됩니다. 마찬가지로 크거나 등호는 등호와 동일하므로 비교 중에 잘못된 결과가 발생할 수 있습니다.
따라서 PHP 내장 함수 strcmp 및 strcasecmp를 사용하여 문자열을 비교할 수 있습니다. 그 중 strcasecmp는 strcmp의 변형으로, 문자열을 먼저 소문자로 변환한 후 비교합니다. 다음 코드는
코드 복사 코드는 다음과 같습니다.
var_dump(0 == 'Test')
var_dump( 0 == '');
var_dump(5 > 'T')
var_dump(strcmp(5, 'T'))
코드 복사 코드는 다음과 같습니다.
bool(true)
bool(true)
bool(true)
int(-1)
코드 복사 코드는 다음과 같습니다.
// Substring
var_dump(substr(' 1234567890', 8)); // 90
var_dump(substr('1234567890', 0, 2)); // 12
// 하위 문자열 반전
var_dump(substr('1234567890', -8 ) ); // 34567890
var_dump(substr('1234567890', -8, -2)); // 345678
var_dump(substr('1234567890', -8, 2)) // 34
//삽입
var_dump(substr_replace('1234567890', 'a', 0, 0)); // a1234567890
// 삭제
var_dump(substr_replace('1234567890', '', 8 ) ; ('1234567890', 'a', 0, 1)); // a234567890
// 반대 방향으로 교체
var_dump(substr_replace('1234567890', 'a', -2, -1 )); / / 12345678a0
// 문자열 반전
var_dump(strrev('1234567890')) // 0987654321
// 문자열 반복
var_dump(str_repeat('12', 3)) ; // 121212
// 문자열 채우기
var_dump(str_pad('a', 10, '12')) // a121212121
var_dump(str_pad('a', 10, '12', STR_PAD_LEFT)); // 121212121a
var_dump(str_pad('a', 10, '12', STR_PAD_BOTH)); // 1212a12121
3. 폭발을 사용하여 문자열을 분해하고, implode를 사용하여 병합(조인은 implode의 별칭)하고, strtok를 사용하여 표시합니다. 분해(정규 분해)할 수 있는 또 다른 함수 슬립이 있지만 5.3 이후 버전에서는 더 이상 권장되지 않습니다. 또한 PHP에는 문자열을 읽는 sscanf() 함수가 있습니다.
strtok이 표시되면 strtok($str, $token)을 사용하여 초기화하고 strtok($token)을 사용하여 계속해서 값을 가져옵니다.
코드는 다음과 같습니다.
$str = '1, 2,3'; $arr1 = 폭발(',', $str); // 배열('1', '2', '3') $arr2 = 폭발(',', $ str, 2); // 배열('1', '2,3') $str1 = implode(',', $arr1); // '1,2,3'
$str2 = strtok($str, ' ,'); // 1$str3 = strtok(','); // 2
$str4 = strtok(','); array(86, 10, 88888888, '베이진')
$arr3 = sscanf(' 86(10)88888888 베이진', ' %d(%d)%d %s')
4. 문자열 검색
PHP에는 문자열 검색 시리즈가 3가지 있습니다. 위치를 반환하고 문자열을 반환하며 마스크 수와 일치합니다. 그 중에는 위치를 반환하는 두 가지 함수인 strpos()와 strrpos()가 있으며, 문자열을 반환하는 두 가지 함수인 strstr()과 strchr()도 있습니다. 마스크 일치 숫자를 반환하는 함수는 strspn()과 strcspn() .
strpos는 왼쪽부터 세기를 의미하며 찾을 문자열이 처음 나타나는 위치를 반환합니다. strrpos는 오른쪽부터 세기를 의미하며 찾을 문자열이 처음 나타나는 위치를 반환합니다.
strstr은 왼쪽부터 세는 것을 의미하며 검색할 문자열(검색 문자열 포함)의 처음부터 끝까지 부분 문자열을 반환합니다. 문자를 검색할 때 strstr은 문자가 아님을 의미합니다. 크기를 구별하기 위해 strchr은 strstr의 별칭입니다. strrchr는 마지막 문자부터 끝까지 하위 문자열을 반환합니다.
strspn은 마스크되지 않은 첫 번째 발생 전 하위 문자열의 문자 수를 왼쪽부터 세는 것을 의미합니다. strcspn은 마스크가 처음 발생하기 전 하위 문자열의 문자 수를 왼쪽부터 세는 것을 의미합니다.
샘플 코드:
$pos = strpos('이것은 Hello World 프로그램입니다', ' '); // 4
$pos = strpos('This는 Hello World 프로그램입니다', 32) // 4
$pos = strrpos('이것은 Hello World 프로그램입니다', ' '); // 18
$pos = strrpos('이것은 Hello World 프로그램입니다', 32) // 18
$str = strstr ('이것은 Hello World 프로그램입니다', ' '); // "Hello World 프로그램"
$str = strstr('This는 Hello World 프로그램입니다', 32) // "Hello World 프로그램"
$str = stristr('이것은 Hello World 프로그램입니다', ' A'); // "Hello World 프로그램입니다."
$str = stristr('이것은 Hello World 프로그램입니다', 65) // "a hello world 프로그램"
$str = strrchr('Hello World 프로그램입니다', ' '); // " 프로그램"
$str = strrchr('Hello World 프로그램입니다', 32); // " 프로그램"
$str1 = "12345 12345 12345";
$len = strspn($str1, '12345') // 5
$len = strcspn($str1, ' '); / 5
위 내용은 포토샵 학습망의 내용을 포함하여 포토샵 학습망에서의 PHP 학습 문자열 비교 및 검색을 소개하고 있으니 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.