update : 2015.11.03
php.shukuma.com

검색:
 
 
문자열이 처음 나타나는 위치를 찾습니다

strpos

(PHP 4, PHP 5)

strpos문자열이 처음 나타나는 위치를 찾습니다

설명

int strpos ( string $haystack , mixed $needle [, int $offset ] )

haystack 문자열에서 needle이 처음 나타나는 수 위치를 반환합니다. PHP 5 이전의 strrpos()와는 달리, 이 함수는 needle 인수로 문자열을 받아서, 전체 문자열을 사용합니다.

인수

haystack

탐색할 문자열

needle

needle이 문자열이 아니면, 정수로 변환하여 해당하는 값의 문자를 취합니다.

offset

선택적인 offset 인수는 haystack에서 몇 번째 문자부터 탐색을 시작할 지 결정합니다. 반환하는 위치는 haystack 시작부터 셉니다.

반환값

위치를 정수로 반환합니다. needle을 발견하지 못하면, strpos()boolean FALSE를 반환합니다.

Warning

이 함수는 논리 FALSE를 반환하지만, 논리 FALSE로 취급할 수 있는 다른 값을 반환할 수 있습니다. 자세한 정보는 논리형 섹션을 참고하십시오. 이 함수의 반환값을 확인하려면 === 연산자를 이용하십시오.

예제

Example #1 === 사용하기

<?php
$mystring 
'abc';
$findme   'a';
$pos strpos($mystring$findme);

// ===를 사용하는 점에 주의하십시오. ==는 'a'가 0번째
// (처음) 문자이기에 기대하는 대로 작동하지 않습니다.
if ($pos === false) {
    echo 
"'$findme' 문자열을 '$mystring' 문자열에서 찾지 못했습니다.";
} else {
    echo 
"'$findme' 문자열을 '$mystring' 문자열에서 찾았습니다.";
    echo 
"위치 $pos에 존재합니다.";
}
?>

Example #2 !== 사용하기

<?php
$mystring 
'abc';
$findme   'a';
$pos strpos($mystring$findme);

// !== 연산자를 사용할 수 있습니다. !=는 'a'의 위치가
// 0이기 때문에 원하는 동작을 얻을 수 없습니다.
// 구문 (0 != false)는 false로 평가됩니다.
if ($pos !== false) {
    echo 
"'$findme' 문자열을 '$mystring' 문자열에서 찾았습니다.";
    echo 
"위치 $pos에 존재합니다.";
} else {
    echo 
"'$findme' 문자열을 '$mystring' 문자열에서 찾지 못했습니다.";
}
?>

Example #3 offset 사용하기

<?php
// offset 앞을 모두 무시하고 문자를 찾을 수 있습니다.
$newstring 'abcdef abcdef';
$pos strpos($newstring'a'1); // $pos = 7, not 0
?>

주의

Note: 이 함수는 바이너리 안전입니다.

참고

  • strrpos() - 문자열에서 마지막 문자의 위치를 찾습니다
  • stripos() - 대소문자를 구분 없이 문자열이 처음 나타나는 위치를 탐색
  • strripos() - 문자열에서 대소문자 구분 없이 문자열의 마지막 위치를 찾습니다
  • strrchr() - 문자열에서 문자가 마지막으로 나오는 부분을 찾습니다
  • substr() - Return part of a string
  • stristr() - 대소문자를 구분하지 않는 strstr
  • strstr() - 문자열이 처음으로 나오는 부분을 찾습니다