변수의 타입 변경
gettype() 함수는 전달받은 변수의 타입을 반환
변수를 전달하면 타입에 따라 해당 타입의 이름을 문자열로 반환
float => "double"
표준타입 X => "unknown type"
settype() 함수를 사용하면 전달받은 변수의 타입을 변경
boolean, integer, string, array, object를 사용
$x = 5;
echo gettype($x); //integer
settype($x, "string");
echo gettype($x); //string
**PHP 4.2.0부터는 "boolean" 대신에 "bool"을 사용할 수 있으며, "integer" 대신에 "int"를 대신 사용가능**
변수의 상태 변경
isset()함수는 전달받은 변수가 선언되어 있는지를 검사
선언된 변수가 존재하면 true, 존재하지 않으면 false
unset() 함수는 전달받은 변수를 제거
empty() 함수는 전달받은 변수가 비어있는지를 검사 전달받은 변수가 존재하고 해당 변수가 비어있지 않으면 false
$var;
var_dump(isset($var)); // false
var_dump(empty($var)); // true
$var = 5;
var_dump(isset($var)); // true
var_dump(empty($var)); // false
$var = 0;
var_dump(isset($var)); // true
var_dump(empty($var)); // true
unset($var);
var_dump(isset($var)); // false
var_dump(empty($var)); // true
특정 타입으로 변경
intval() 함수는 전달받은 변수에 해당하는 정수를 반환
floatval() 함수와 doubleval() 함수는 전달받은 변수에 해당하는 실수를 반환
strval()은 전달받은 변수와 해당하는 문자열을 반환
$x = "123.56789abc";
echo intval($x); //123
echo floatval($x); //123.56789
echo strval($x); //123.56789abc
배열 요소의 개수
count()함수와 sizeof()함수는 배열에 저장된 배열 요소의 개수를 반환
array_count_values() 함수는 전달받은 배열의 배열 요소 값을 모두 확인하여, 해당 값이 몇 번 등장하는지를 확인
$arr = array(1,5,7,3,3,1,2)
echo"배열 요소의 수는".count($arr)."입니다."; //7
echo"배열 요소의 수는".sizeof($arr)."입니다."; //7
$acv = array_count_values($arr); // 1 : 2번, 5 : 1번, 7 : 1번, 3 : 2번, 2 : 1번
배열의 탐색
현재 선택된 배열 요소가 어느 요소인지를 가리키는 포인터가 존재
이러한 내부 포인터를 배열 포인터라고 함,
배열이 생성되면 자동으로 배열의 첫 번째 요소를 가르킴
current() 함수와 pos() 함수는 배열 포인터가 현재 가리키고 있는 요소를 반환
next() 함수는 우선 배열 포인터를 앞으로 하나 이동시킨 후 해당 요소 반환
prev() 함수는 next() 함수와 반대로 뒤로 하나 이동시킨 후 해당 요소 반환
each() 함수는 배열 포인터가 현재 가리키고 있는 요소의 키와 값을 연관 배열로 반환하고,
배열 포인터를 앞으로 하나 이동
reset() 함수는 배열 포인터가 첫 번째 배열 요소를 가리키도록 한 뒤 해당 요소 반환
end() 함수는 reset() 함수와 반대로 마지막 배열 요소를 가리키도록 한 뒤 해당 요소 반환
$arr = array(2, 3, 7, 4, 6);
$element = current($arr); // 배열의 첫 번째 요소를 가리킴.
while($element) { // 배열의 마지막 요소까지
echo $element; // 해당 요소의 값을 출력하고,
$element = next($arr); // 다음 요소를 가리킨 후에 해당 요소를 반환함.
} // 2, 3, 7, 4, 6
$element = end($arr); // 배열의 마지막 요소를 가리킴.
while($element) { // 배열의 첫 번째 요소까지
echo $element; // 해당 요소의 값을 출력하고,
$element = prev($arr); // 이전 요소를 가리킨 후에 해당 요소를 반환함.
} // 6, 4, 7, 3, 2
배열의 정렬
sort() 함수는 배열 요소들을 정렬 기준에 맞게 정렬
SORT_NUMERIC은 배열 요소를 숫자로 비교하며, SORT_STRING은 문자열로 비교하게 됨
정렬 기준을 전달하지 않으면, 배열 요소들의 타입을 변경하지 않고 그대로 비교
sort() 함수는 대소문자를 구별하며, 대문자가 소문자보다 앞쪽으로 정렬
배열 요소의 정렬에 성공하면 true를 반환하고, 정렬에 실패하면 false를 반환
$arr = array(3,2,7,6,4);
sort($arr); //배열정렬 -> 2,3,4,6,7
<sort() 함수를 호출하면서 정렬 기준을 인수로 함께 전달>
$arr = array(15,2,1,21,121);
sort($arr,SORT_NUMERIC);// 배열 요소를 숫자로 비교함. -> 1, 2, 15, 21, 121
sort($arr,SORT_STRING); // 배열 요소를 문자열로 비교함. -> 1, 121, 15, 2, 21
문자의 시작이 1인 요소들이 앞쪽으로 정렬
연관 배열의 정렬
연관 배열은 인덱스를 숫자가 아닌 문자열을 사용
ksort() 함수는 각 요소의 키를 기준으로 정렬
asort() 함수는 각 요소의 값을 기준으로 정렬
$arr = array("apple" => 1000, "banana" => 2000, "orange" => 1500);
asort($arr); //요소의 값을 기준으로 배열 정렬 -> apple, orange, banana
ksort($arr); // 키값을 기준으로 배열 정렬 -> apple, banana, orange
배열 요소의 재배치
shuffle() 함수는 배열 요소를 섞은 뒤에 무작위로 재배치
$arr = array(1, 2, 3, 4, 5);
shuffle($arr);
문자열의 길이
strlen() 함수는 전달받은 문자열의 길이를 반환
$str = "12345678";
echo strlen($str); //8
strlen() 함수에 영문자만이 아닌 한글이 포함된 문자열이 전달되면,
문자열의 길이가 아닌 문자열의 총 바이트(byte) 수를 반환
한글이 포함된 문자열의 정확한 문자열 길이를 반환받기 위해서는 mb_strlen() 함수를 사용
$str = "한글로된문자열";
echo strlen($str); //21
echo mb_strlen($str); //21
echo mb_strlen($str, "UTF-8"); //7
문자열 비교하기
strcmp() 함수는 전달받은 두 개의 문자열을 서로 비교
첫 번째 인수의 문자열이 두 번째 인수의 문자열보다 크면 양수를, 작으면 음수를 반환
두 문자열이 완전히 같으면 0을 반환 strcmp() 함수는 비교할 때 대소문자를 구분,
trncasecmp()함수를 사용하면 대소문자를 구분하지 않고 두 개의 문자열을 비교
특정 문자열 검색
strstr()함수와 strchr() 함수는 해당 문자열에서 전달받은 문자열과 처음으로 일치하는 부분을 찾는다.
일치하는 부분이 존재하면, 처음으로 일치하는 부분을 포함한 이후의 모든 문자를 같이 반환
일치하는 부분이 존재하지 않으면 false를 반환
strrchr() 함수는 해당 문자열에서 전달받은 문자열과 마지막으로 일치하는 부분을 찾는다.
마지막으로 일치하는 부분을 포함한 이후의 모든 문자를 같이 반환
echo strstr("ABCabcDEFabc", "abc"); // abcDEFabc
echo strrchr("ABCabcDEFabc", "abc")"; // abc
특정 문자열 위치 찾기
strpos() 함수는 해당 문자열에서 전달받은 문자열과 처음으로 일치하는 부분의 시작 인덱스를 반환
strrpos() 함수는 해당 문자열에서 전달받은 문자열과 마지막으로 일치하는 부분의 시작 인덱스를 반환
echo strpos("ABCabcDEFabc", "abc"); // 3
echo strrpos("ABCabcDEFabc", "abc"); // 9
문자열 추출하기
substr() 함수는 해당 문자열에서 특정 인덱스부터 전달받은 길이만큼의 일부분을 추출하여 반환
인덱스가 양수인 경우에는 해당 인덱스부터 해당 문자열의 끝까지를 반환
인덱스가 음수라면 해당 문자열 끝부터 전달받은 음수의 절댓값만큼의 문자열을 반환
문자열 대소문자 바꾸기
strtolower() 함수는 전달받은 문자열의 모든 문자를 소문자로
strtoupper() 함수는 전달받은 문자열의 모든 문자를 대문자로
ucfirst 함수()는 전달받은 문자열의 첫 번째 문자만을 대문자로
타임스탬프(timestamp)
mktime() 함수는 시, 분, 초, 월, 일, 연도를 인수로 전달받아서,
해당 날짜와 시간을 나타내는 타임스탬프(timestamp)를 반환
time() 함수는 인수를 전달받지 않고, 현재 날짜와 시간에 대한 타임스탬프를 반환
echo mktime(0,0,0,1,1,2000)."<br>"; // 2000년 1월1일
echo mktime()."<br>"; // 현재 날짜와 시간
echo time(); //현재 날짜와 시간
최댓값과 최솟값
max() 함수는 전달받은 수 중에서 가장 큰 수를 반환하며, min() 함수는 가장 작은 수를 반환
echo "1,5,7,3,2 중 가장 큰 값은 ".max(1,5,7,3,2)."입니다.";
echo "1, 5, 7, 3, 2 중 가장 작은 값은 ".min(1, 5, 7, 3, 2)."입니다.";
>>>결과
1, 5, 7, 3, 2 중 가장 큰 값은 7입니다.
1, 5, 7, 3, 2 중 가장 작은 값은 1입니다.