<PHP Syntax>
1. Basic PHP Syntax
- PHP 스크립트는 <?php로 시작하고 ?>로 끝난다
- PHP파일은 보통 HTML tag들을 포함한다
- PHP 문장들은 ;로 끝난다
2. PHP Case Sensitivity
- 키워드, 클래스, 함수들은 대소문자 구분이 없다 (즉, echo와 Echo를 똑같이 인식한다)
- 하지만, 모든 변수들은 구분이 있다
3. 주석처리
- single은 //이나 #으로, multiple은 /* */으로 처리한다
<PHP Variables>
1. Creating PHP Variable
- 변수는 $으로 시작하고, 뒤에는 변수명이 온다
- 문자열을 변수에 넣고 싶을 때는 '를 써야한다
- 다른 언어와 다르게 선언을 위한 문구가 없다, 처음으로 할당해줄 때 알아서 생긴다
- 변수 이름은 숫자로 시작할 수 없고, 대소문자 구분이 있다
2. Output Variables
변수를 출력할 땐, echo를 사용한다
echo "my name is". $name. "Seo";
echo "my name is ${name} Seo";
두 가지 방법으로 출력할 수 있다.
3. loosely typed language
-php는 자동으로 변수값에 따라 데이터 타입을 지원한다
4. PHP Variables Scope
- 변수의 범위는 변수가 참조, 사용될 수 있는 스크립트의 한 부분을 의미한다
- PHP는 local, global, static의 범위를 가진다
5. Global and Local Scope
- 함수 밖에 선언되는 변수는 global scope이고, 함수 밖에서만 쓸 수 있다
- 함수 안에서 선언되는 변수는 local scope이고, 함수 안에서만 접근할 수 있다
6. The global Keyword
- global 키워드는 함수 안에서 global 변수를 접근하기 위해 사용된다
- PHP는 $GLOBALS[index]라는 배열에 global 변수를 저장한다
index는 변수의 이름을 의미한다
배열은 또한 함수 안에서 접근할 수 있으며, global 변수를 update할 때에 바로 사용할 수 있다
1
2
3
4
5
6
7
8
9
10
11
|
<?php
$x=5;
$y=10;
function myTest(){
global $x, $y; //global keyword
$y=$x+$y;
}
myTest();
echo $y; //print 15
?>
|
1
2
3
4
5
6
7
8
9
10
|
<?php
$x=5;
$y=10;
function myTest(){
$GLOBALS['y']=$GLOBALS['x'] + $GLOBALS['y']; //index is variable's name
}
myTest();
echo $y; //print 15
?>
|
7. The static Keyword
- 때때로 우리는 local 변수가 삭제되지 않기를 원한다
- 이를 위해, 변수를 처음 선언할 때에 static 키워드를 사용한다
- 함수를 부를 때마다, 변수는 마지막에 함수가 불렸을 때의 정보를 그대로 담고 있다 (삭제되지 않았으니까)
- 하지만 변수는 여전히 local이다
1
2
3
4
5
6
7
8
9
10
|
<?php
function myTest(){
static $x=0;
echo $x;
$x++;
}
myTest(); //0
myTest(); //1
myTest(); //2
?>
|
<PHP echo and print Statements>
1. PHP echo and print Statements
- 둘 다 데이터를 출력한다
- 하지만, echo는 return value가 없으며 / 여러 파라미터를 쓸 수 있으며 / print보다 빠르다
- print는 1의 return value가 있으며 / 한 파라미터만 사용할 수 있다
2. echo
echo or echo( )
- echo "<h2>PHP is Fun!</h2>"; 로 html태그를 사용할 수도 있다
3. print
print or print()
- print("PHP is Fun!");
<PHP Data Types>
1. PHP Data Types
- string : any text inside quotes, single or double
2. array
1
2
3
4
|
<?php
$car = array("Volvo", "BMW", "Toyota");
var_dump($car); //output : array(3) { [0]=> string(5) "Volvo" [1]=> string(3) "BMW" [2]=> string(6) "Toyota" }
?>
|
3. Object
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php
class Car{
function Car(){
$this->model = "VW";
}
}
$x = new Car();
echo $x->model; //VW
?>
|
- php에선, 객체는 명시적으로 선언되어야 한다
- class 키워드를 사용하여 class를 정의한다. 클래스는 성질과 메소드를 포함할 수 있는 구조이다
4. Null Value
- 변수가 값 없이 만들어졌다면, 자동으로 NULL이 할당된다
- 변수는 또한 NULL로 비어질 수 있다
<PHP Strings>
1. PHP String Functions
$x = "hello world!";
- strlen() : string의 길이를 리턴 (echo strlen($x); ->12)
- str_word_cout() : string의 단어들 수를 리턴 (echo ~~ -> 2)
- strrev() : string을 뒤집는 함수
- strpos() : string에서 특정한 text를 찾아, 위치를 리턴하는 함수 (echo strpos($x, "world!"); -> 6);
- str_replace() : string에서 특정 text를 지정 문자열로 바꾸는 함수 (echo str_replace("world", "Dolly", "Hello world!");)
<PHP Constants>
1. PHP Constants
- constant는 간단한 변수의 식별자이다. 변수는 script가 끝날 때까지 바뀌지 않는다
- 선언에는 $기호가 붙지 않는다
- 변수와 다르게 자동으로 전체 script의 global 변수가 된다
2. Create php constant
- constant를 선언하기 위해, define()을 이용
define(name, value, case-insensitive)
- case-insensitive : true or false (default is false, 즉 결정해주지 않으면 대소문자 구분이 있다)
1
2
3
4
5
|
<?php
define("GREETING", "Hello, World!");
echo GREETING; //Hello, World!
?>
|
1
2
3
4
5
|
<?php
define("cars",["Alfa Romeo","BMW","Toyota"]);
echo cars[0];
?>
|
<PHP Operators>
1. PHP Operators
- 다른 것은 다 똑같으나, 제곱은 **으로 표현한다 ( ex. $x**$y == $x^$y )
=== : x와 y가 똑같은지, 그리고 그들이 같은 타입인지 비교연산
<> : !=와 같다
!== : 같지도 않고, type도 다르다
. : $txt1.$txt2 붙이기
.= : $txt1.=$txt2; 붙이기
2. 삼항 연산자
1
2
3
4
5
|
<?php
echo $status = (empty($user)) ? "anonymous":"logged in"; //anonymous
$user = "John Doe";
echo $status = (empty($user)) ? "anonymous":"logged in"; //logged in
?>
|
3. for Loops
- 기본 for는 변수 앞에 $가 붙는다는 것 말고는 모두 같다
- foreach Loop : only on arrays
1
2
3
4
5
6
7
8
|
<?php
$colors=array("red","green","blue","yellow");
foreach ($colors as $value){
echo "$value <br>"; //red green blue yellow
}
?>
|
<PHP Functions>
1. create a user defined function in php
- function이라는 키워드로 시작, 함수의 이름은 대소문자구분이 없다
1
2
3
4
5
6
7
8
|
<?php
function nameprint($name="Selly"){
echo $name;
}
nameprint("Jeny"); //Jeny
nameprint(); //Selly
?>
|
- 파라미터는 여러개 전달될 수 있다, 쉼표로만 구분하면 됨
- default parameter는 위와 같이 작동한다
- return 타입을 따로 명시할 필요가 없다, 그저 function 함수이름(){~~}
- retrun 타입을 명시해주고 싶다면 function 함수이름(~) : int {~~}
<Array>
1. Array
- count : count($car);
- loop
1
2
3
4
5
6
7
8
9
10
|
<?php
$car=array("Volvo","Toyota","BMW");
$arrlen=count($car);
for($x=0;$x<arrlen;$x++){
echo $car[$x];
echo "<br>"
}
?>
|
2. PHP Associative Arrays
- named keys를 사용하는 배열이다, java의 hashmap같은 경우이다
1
2
3
4
5
6
|
<?php
$age = array("A"=>"12", "B"=>"34", "C"=>"35");
echo "A is ".$age['A']." years old."; //-> A is 12 years old.
?>
|
1
2
3
4
5
6
7
|
<?php
$age = array("A"=>"12", "B"=>"34", "C"=>"35");
foreach($age as $x => $x_value){
echo $x." is ".$x_value; //A is 12
}
?>
|
3. 다양한 메소드
- sort : sort($car);
- rsort
- 또한 key에 따라 sort해주는 메소드들도 있다
<PHP Global Variables> - Superglobals
1. Superglobals
- 모든 영역에서 항상 접근가능한 built-in 변수이다
$_GLOBALS, $_SERVER, $_REQUEST, $_POST, $_GET, $_FILES, $_COOKIE, $_SESSION
2. $_GLOBALS
- php는 모든 global변수를 $_GLOBALS[index]에 보관한다
- 이때 index는 변수의 이름이다
$x=3;
$GLOBALS['x']
3. $_SERVER
- header, paths, and script location의 정보를 가지는 변수이다
4. $_REQUEST
- html form으로 제출한 뒤 데이터를 모으기위해 사용된다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname"/>
<input type="submit">
</form>
<?php
if ($_SERVER["REQUEST_METHOD"]=="POST") {
//collect value of input field
$name = htmlspecialchars($_REQUEST['fname]);
if(empty($name)){
echo "name is empty"
}else{
echo $name;
}
}
?>
</body>
|
'Web' 카테고리의 다른 글
Term Project (0) | 2019.11.19 |
---|---|
Drag and Drop (0) | 2019.11.13 |
PHP 1 (basic) (0) | 2019.10.12 |
Forms (3) | 2019.09.16 |
Tables (0) | 2019.09.16 |