문법 공부의 가장 좋은 방법은...
php.net를 참고하기..!!
[작성중............]
STEP1. ✅PHP 7 기준 문법정리
1. 변수의 선언
<?php
$a = 1;
?>
// *------ ?>는 생략이 가능하다. ------*
- 변수 선언시에는
$
를 사용합니다. - 변수는 저장되는 값에 따라 추론이 되어집니다.
- 변수는 대소문자를 구분합니다.
2. echo의 사용
<? php
$txt = "PHP";
echo = 'I love {$txt}'; // (==) echo 'I love $txt';
/*
output => I love PHP
*/
3. 변수의 범위
<?php
$x = 5;
function myTest() {
echo "변수 x의 값 :: {$x}"
}
myTest();
// ouput => 변수 x의 값 ::
PHP에서는 위의 코드는 찍히지 않습니다. 위의 값을 사용하기 위해서는 global
키워드를 이용해야합니다.
예시는 아래와 같습니다.
<?php
$x = 5;
function myTest() {
global $x;
$x++;
echo "변수 x의 값 :: {$x} <br>";
}
myTest();
echo("한번 더 찍어보기 :: {$x}");
/*
[output]
변수 x의 값 :: 6
한번 더 찍어보기 :: 6
*/
4. 문자열 형태 확인 함수 : var_dump()
<?php
$x = 3333;
$y = 3333.1;
$z = "111";
var_dump($x); // int(3333);
var_dump($y); // float(3333.1)
var_dump($z); // string(3) "111";
string(3) "111"
에서 3은 3byte를 의미합니다.
5. 문자열의 길이 반환 함수 : strlen()
<?php
$x = strlen("한글");
echo $x; // 6
strlen()은 문자열의 바이트 수를 출력합니다.
한글은 한 글자에 3바이트 이므로 위 코드는 6바이트가 출력됩니다.
6. 영어의 단어 수 세어주는 함수 : str_word_count()
<?php
$word = str_word_count("Hello World");
echo $word; // 2
해당 함수는 영어만 단어수를 세어줍니다. 한글은 동작하지 않습니다.
7. 문자열 뒤집는 함수 : strrev()
<?php
echo strrev("Hello world!"); // !dlrow olleH
strrev()
는 문자열을 뒤집어 줍니다. 영어는 동작하지만 한글은 동작하는지 확인해 볼 필요가 있습니다.header('Content-Type: text/html; charset=UTF-8');
를 줘봤지만 문자열이 깨지는 현상이 있습니다.
8. 문자열 내에서 문자를 검색하는 함수 : strpos()
<?php
echo strpos("Hello world", "world"); // 6
Hello world
에서 world
를 검색합니다. 검색 결과가 있다면 시작되는 첫 번째 인덱스 값을 출력합니다.
만약 검색결과가 없다면 아무것도 출력하지 않습니다. 더불어 H
, o
처럼 한 글자씩 검색도 가능합니다.
[실무사용]
실무에서는 email 검사에서 @
가 있는지 없는지 약식으로 판별하는데 사용됩니다.
9. 문자열내 문자 바꾸기 함수 : str_replace()
<?php
$str = "나는 자랑스러운 미국인이다.";
echo str_replace("미국인", "한국인", $str); // 나는 자랑스러운 한국인이다.
10. 자료의 판별 함수 : is_int(), is_float() 등
<?php
$a = 33433;
$b = 331.1;
$c = "홍길동";
$d = true;
echo var_dump(is_int($a)); // bool(true)
echo is_int($a) // 1
echo var_dump(is_float($b)); // bool(true)
echo is_float($b); // 1
echo var_dump(is_string($c)); // bool(true)
echo is_string($c); // 1
echo var_dump(is_bool($d)); // bool(true)
echo is_bool($d); // 1
11. 값의 형태가 숫자인지 판별 함수 : is_numeric()
<?php
$a = "안녕하세요";
$b = 11;
$c = "2024";
isNumeric($a);
isNumeric($b);
isNumeric($c);
function isNumeric($value) {
if(is_numeric($value)) {
echo "\"{$value}\"는 숫자입니다.";
} else {
echo "\"{$value}\"는 숫자가 아닙니다.";
}
echo "<br>";
}
/*
[output]
"안녕하세요"는 숫자가 아닙니다.
"11"는 숫자입니다.
"2024"는 숫자입니다.
*/
결과에서 알 수 있듯이, is_numeric()
은 정수타입의 값뿐만 아니라 숫자 형태의 값도 true로 판별합니다.
12. 타입이 숫자인지 판별 함수 : is_numeric()
<?php
$a = "안녕하세요";
$b = 11;
$c = "2024";
isInt($a);
isInt($b);
isInt($c);
function isInt($value) {
if(is_int($value)) {
echo "\"{$value}\"는 숫자입니다.";
} else {
echo "\"{$value}\"는 숫자가 아닙니다.";
}
echo "<br>";
}
/*
[output]
"안녕하세요"는 숫자가 아닙니다.
"11"는 숫자입니다.
"2024"는 숫자가 아닙니다.
*/
결과에서 알 수 있듯이, is_numeric()
과 달리 is_int()
는 반드시 정수 타입의 형태만 true로 판별합니다.