Scalar Types (์ค์นผ๋ผ ํ์ )
String
๋ฌธ์์ด์ ๋ํ๋ด๋ ํ์ ์ผ๋ก, ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ค.
// ๋ฌธ์์ด ์์ฑ
$str = "Hello";
$str2 = 'World';
$str3 = "Hello {$str2}"; // ๋ณ์ ๋ณด๊ฐ
// ์ฃผ์ ๋ฉ์๋
strlen($str); // ๊ธธ์ด
strtoupper($str); // ๋๋ฌธ์
strtolower($str); // ์๋ฌธ์
substr($str, 0, 3); // ๋ถ๋ถ ๋ฌธ์์ด
explode(' ', $str); // ๋ฌธ์์ด ๋ถํ
trim($str); // ๊ณต๋ฐฑ ์ ๊ฑฐ
str_contains($str, 'el'); // ํฌํจ ์ฌ๋ถ ํ์ธInteger & Float
์ ์์ ๋ถ๋์์์ ์ซ์๋ฅผ ๋ํ๋ธ๋ค.
// ์ ์
$int = 42;
$hex = 0x2A; // 16์ง์
$oct = 0o52; // 8์ง์
$bin = 0b101010; // 2์ง์
// ์ค์
$float = 42.123;
$scientific = 1.2e3;
// ์ฃผ์ ํจ์
is_int($int); // ์ ์ ์ฌ๋ถ
is_float($float); // ์ค์ ์ฌ๋ถ
round($float, 2); // ๋ฐ์ฌ๋ฆผ
ceil($float); // ์ฌ๋ฆผ
floor($float); // ๋ด๋ฆผBoolean
true ๋๋ false ๊ฐ์ ๊ฐ์ง๋ค.
$bool = true;
$bool2 = false;
// ๋ถ๋ฆฌ์ธ ๋ณํ
$result = (bool) ""; // false
$result2 = (bool) "0"; // false
$result3 = (bool) []; // false
$result4 = (bool) "1"; // trueCompound Types (๋ณตํฉ ํ์ )
Array
PHP์์ ๊ฐ์ฅ ์ ์ฉํ ๋ฐ์ดํฐ ํ์ ์ค ํ๋๋ก, ์์๊ฐ ์๋ ๋งต์ด๋ค.
// ๋ฐฐ์ด ์์ฑ
$arr = [1, 2, 3];
$assoc = ['name' => 'John', 'age' => 30];
// ๋ฐฐ์ด ์กฐ์
array_push($arr, 4); // ๋์ ์ถ๊ฐ
array_pop($arr); // ๋์์ ์ ๊ฑฐ
array_unshift($arr, 0); // ์์ ์ถ๊ฐ
array_shift($arr); // ์์์ ์ ๊ฑฐ
// ๋ฐฐ์ด ๊ฒ์
in_array(2, $arr); // ๊ฐ ์กด์ฌ ์ฌ๋ถ
array_key_exists('name', $assoc); // ํค ์กด์ฌ ์ฌ๋ถ
array_search(2, $arr); // ๊ฐ์ ํค ์ฐพ๊ธฐ
// ๋ฐฐ์ด ๋ณํ
$mapped = array_map(fn($x) => $x * 2, $arr);
$filtered = array_filter($arr, fn($x) => $x > 1);
$reduced = array_reduce($arr, fn($carry, $item) => $carry + $item, 0);
// ๋ฐฐ์ด ์ ๋ ฌ
sort($arr); // ๊ฐ์ผ๋ก ์ ๋ ฌ
asort($assoc); // ๊ฐ์ผ๋ก ์ ๋ ฌ (์ฐ๊ด๋ฐฐ์ด)
ksort($assoc); // ํค๋ก ์ ๋ ฌ
rsort($arr); // ์ญ์ ์ ๋ ฌ
// ์ ์ฉํ ๋ฐฐ์ด ํ
array_chunk($arr, 2); // ๋ฐฐ์ด ๋ถํ
array_merge($arr1, $arr2); // ๋ฐฐ์ด ํฉ์น๊ธฐ
array_diff($arr1, $arr2); // ์ฐจ์งํฉ
array_intersect($arr1, $arr2); // ๊ต์งํฉ
array_unique($arr); // ์ค๋ณต ์ ๊ฑฐWeakMap
์ฐธ์กฐ๊ฐ ํด์ ๋๋ฉด ์๋์ผ๋ก ๊ฐ๋น์ง ์ปฌ๋ ํ ๋๋ ๊ฐ์ฒด ๋งต์ด๋ค.
$map = new WeakMap();
$obj = new stdClass();
$map[$obj] = 'data';
// $obj = null; // ์ฐธ์กฐ ํด์ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ์ ๋ฆฌํน์ ํ์
Null
๋ช ์์ ์ผ๋ก ๊ฐ์ด ์์์ ๋ํ๋ธ๋ค.
$var = null;
is_null($var); // null ์ฒดํฌ
$value = $var ?? 'default'; // null ๋ณํฉ ์ฐ์ฐ์Resource
์ธ๋ถ ์์์ ์ฐธ์กฐ๋ฅผ ๋ํ๋ธ๋ค.
$file = fopen('file.txt', 'r');
is_resource($file); // resource ์ฒดํฌ
fclose($file); // ์์ ํด์ ํ์ ๋ณํ
// ๋ช
์์ ๋ณํ
$int = (int) "123";
$str = (string) 123;
$array = (array) $object;
// ํ์
๊ฒ์ฌ
$type = gettype($variable);
is_string($variable);
is_array($variable);
is_object($variable);๋ฐ์ดํฐ ํ์ ๋น๊ต
| ํ์ | ํน์ง | ์ฃผ์ ์ฉ๋ |
|---|---|---|
| String | ํ ์คํธ ์ฒ๋ฆฌ | ๋ฌธ์์ด ๋ฐ์ดํฐ ์ฒ๋ฆฌ |
| Integer | ์ ์ ์ฐ์ฐ | ์์น ๊ณ์ฐ |
| Float | ๋ถ๋์์์ ์ฐ์ฐ | ์ค์ ๊ณ์ฐ |
| Array | ์์ฐจ/์ฐ๊ด ๋ฐฐ์ด | ๋ฐ์ดํฐ ์ปฌ๋ ์ |
| WeakMap | ์ฝํ ์ฐธ์กฐ ๊ฐ์ฒด ๋งต | ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ ์ธ ์บ์ฑ |
| Resource | ์ธ๋ถ ์์ ์ฐธ์กฐ | ํ์ผ, DB ์ฐ๊ฒฐ ๋ฑ |
| Null | ๊ฐ ์์ ํํ | ์ด๊ธฐํ, ์กฐ๊ฑด ์ฒ๋ฆฌ |