본문으로 바로가기

strpos함수 (and $_SERVER['HTTP_USER_AGENT'])

category Helloworld!/PHP 2013. 5. 28. 15:03
strpos($원본문자열, $찾을문자열) 
: $원본문자열 에서 $찾을문자열을 찾는 함수
찾을문자열이 없는경우 false 를 리턴
찾을문자열이 원본문자열에서 몇번째 자리에 있는지를 찾아내 그 자리의 넘버를 리턴한다.

ex)
$mystring = 'abc';
$findme   = 'a';
$pos = strpos($mystring, $findme);
echo $pos; //0

$mystring = 'abc';
$findme   = 'b';
$pos = strpos($mystring, $findme);
echo $pos; //1

주의해야할 점은 찾을문자열이 원본문자열의 맨처음에 있는경우 결과값은 0이므로
단순비교연산자를 쓰면 0 , false 모두 같은값으로 간주하니 비교연산을 꼭 !== 또는 ===을 쓸것

* ==와 ===의 차이점
===이 더 정확하게 비교를 한다. 예를들어 
1 == 1 : true
1 == '1' : true
1 === 1 : true
1 === '1' : false


+) 공부한 이유
웹 브라우저의 종류에 따라 다음페이지로 이동하는 링크 주소를 다르게 줘야했다.
만약 아이폰이라면 iphone.php로, 안드로이드라면 android.php로 이동할수 있도록 수정하고 싶다면 다음과 같이
코딩하면 된다.
$_SERVER['HTTP_USER_AGENT'] : 현재 사용자가 이용하고 있는 브라우저의 종류를 알수있다.


if(strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone') !== false) {
	$link = 'iphone.php';
} else if(strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false) {
	$link = 'android.php';
} else {
	$link = 'main.php';
}