728x90
나 필요할때 볼려고 만든 PHP 기초 문법 정리 글이다.
1. 화면 출력
echo 문을 사용하여 화면에 출력
','를 구분자로 여러 인자를 출력 가능
<?php
echo "Hello World!", " ", "Hello", " ", "World!"; //Hello World! Hello World!
?>
2. 변수 선언
$ 표시를 변수 명 앞에 붙여서 변수를 선언
<?php
$num = 1;
$str = "string";
$test;
//1
//string
//Warning: Undefined variable $test2 in /Users/kihoon/myPhp/test.php on line 9
echo $num;
echo '<br/>';
echo $str;
echo $test;
?>
3. 변수 정보 확인
var_dump 함수를 사용하여 확인 가능.
<?php
$num = 1;
$str = "string";
$arr = array(1, 2);
$bool = true;
/*
int(1)
string(6) "string"
array(2) { [0]=> int(1) [1]=> int(2) }
bool(true)
*/
echo var_dump($num);
echo '<br/>';
echo var_dump($str);
echo '<br/>';
echo var_dump($arr);
echo '<br/>';
echo var_dump($bool);
?>
4. 문자열 붙이기
'.' 을 사용하여 문자열끼리 붙여서 표출할 수 있다.
<html>
<body>
<?php
//coding everybody
$first = "coding";
echo $first." everybody";
?>
</body>
</html>
5. 상수 선언
define 함수를 사용하여 상수를 선언할수 있다. 첫번째 인자로 변수명, 두번째 인자로 값을 전달받는다.
이미 정의된 상수를 재선언시 오류 발생
<html>
<body>
<?php
/*
PHP Tutorial
Warning: Constant TITLE already defined in /Users/kihoon/myPhp/variable/variable4.php on line 7
PHP Tutorial
*/
define('TITLE', 'PHP Tutorial');
echo TITLE;
define('TITLE', 'JAVA Tutorial');
echo TITLE;
?>
</body>
</html>
6. 형변환
settype 을 사용하여 변수 값 자체를 형변환 하거나
(int), (string), (array), (object), (float)
등을 사용하여 일시적으로 형변환을 할 수 있다.
<html>
<body>
<?php
/*
integer
double
string(3) "100"
array(1) { [0]=> float(100) }
object(stdClass)#1 (1) { ["scalar"]=> float(100) }
float(100)
*/
$a = 100;
echo gettype($a);
settype($a, 'float');
echo '<br/>';
echo gettype($a);
echo '<br/>';
echo gettype((string)$a);
echo '<br/>';
echo gettype((array)$a);
echo var_dump((array)$a);
echo '<br/>';
echo gettype((object)$a);
echo '<br/>';
echo gettype((float)$a);
echo '<br/>';
?>
</body>
</html>
7. 가변 변수
title이라는 변수에 'subject'라는 값을 담고 $title에 $를 하나 더붙여서 사용시 $subject로 값을 할당하거나 사용할 수 있다.
<html>
<body>
<?php
#가변변수
// PHP tutorial
$title = 'subject';
$$title = 'PHP tutorial';
echo $subject;
?>
</body>
</html>
8. form I/O
form 에서 submit으로 전송한 value를 각 메서드에 맞게 $_GET[name속성 값] , $_POST[name 속성 값] 으로 받을수 있다.
//formTest.html
<html>
<body>
<form method="POST" action="postTest.php">
id : <input type="text" name="id" /> pw : <input type="text" name="password" />
<button type="submit">전송</button>
</form>
</body>
</html>
//postTest.php
<?php
echo $_POST['id'].','.$_POST['password']
?>
위 코드에서는 form 메서드로 input value를 POST 로 보내고 $_POST로 데이터를 받았지만 GET 메서드로 보내고 $_GET으로 데이터를 받을수도 있다.
9. function
<?php
$test = "테스트";
function numbering($param = 0){ // param 변수의 초기값을 0으로 설정
global $test;
while($param < 10){
echo $param;
$param += 1;
}
echo $test;
}
numbering(1);//123456789테스트
?>
php에서의 함수사용 방법은 javascript와 큰 차이는 없지만 전역변수의 값을 함수내에서 사용시 global을 사용하여 함수 내에서 사용할 수 있다.
10. 배열
<?php
function get_members(){
return ['egoing', 'k8805', 'sorialgi'];
}
$members = get_members();
for($i=0; $i<count($members); $i++){
echo ucfirst($members[$i]).'<br/>'; // ucfirst : 첫번째 문자만 대문자로 변환
}
/*
초기화 방법 종류
$li = [];
$li = array();
$li = array(1,2);
*/
$li = ['b', 'c', 'a', 'g', 'e'];
array_push($li, 'f'); // 제일 뒤에 'f'를 삽입
array_unshift($li, 'd');// 제일 앞에 'd'를 삽입
array_shift($li);// 제일 앞 원소를 제거
array_pop($li);// 제일 뒤 원소를 제거
sort($li); // 정렬
rsort($li);// 역정렬
?>
11. 연관배열
/*
key: egoing value:10
key: k8805 value:6
key: sorialgi value:80
*/
<?php
$grades = array('egoing'=>10, 'k8805'=>6, 'sorialgi'=>80);
foreach($grades as $key => $value){
echo "key: {$key} value:{$value} <br />";
}
?>