PHP 시작 (2/2) - 알아두면 좋은 몇가지

2019. 7. 25. 01:49 PHP/php

PHP 시작 (2/2) - 알아두면 좋은 몇가지


앞에서 PHP를 시작하는데 알아야할 20가지를 정리하였다.

이번 포스팅에서는 앞의 포스팅 PHP 시작 - 이것만은 알고 시작하자 에 이어, 추가적으로 알아두면 좋은 몇가지를 적어보겠다.



1. Boolean 표현식 ( TRUE, FALSE ) 


PHP에서 TRUE 와 FALSE 는 미리 정의된 표현식이다.

TRUE1,  FALSENULL 이거나 아무것도 없다.  

* 어떤 언어에서는 FALSE는 0이나 -1일 수도 있으므로, 각 언어에서 정의를 검사하는 일은 해봐야 한다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
  
   echo "a: [". (20 > 9) . "]<br />";    // a: [1]  출력

   echo "b: [". (5 == 6 ) . "]<br />";  // b: [] 출력

   echo "c: [". (1 == 0 ) . "]<br />";  // c: [] 출력

   echo "d: [". (1 == 1) . "]<br />";  // d: [1] 출력

   echo "e: [". TRUE . "]<br />";  // e: [1] 출력

   echo "f: [". FALSE . "]<br />"// f: [] 출력

?>



2. 연산자 우선순위



연산자 

형 식

( ) 

괄호

++ --

증가 /감소

논리 

* / % 

산술 

+ - . 

산술과 문자열 

<< >> 

비트 

< <= > >= <> 

비교 

== != === !== 

비교 

비트(그리고 참조) 

^

비트 

비트 

&& 

논리 

|| 

논리 

? : 

삼항 

= += -= *= /= .= %= &= != ^= <<= >>= 

대입 

and

논리 

xor 

논리 

or 

논리 



3. 결합성


보통 표현식은 우선순위가 작용하는 연산자를 제외하고는 왼쪽에서 오른쪽 방향으로 처리됐다. 그러나 오른쪽에서 왼쪽으로 처리해야 하는 연산자도 있다. 

아래 표는 오른쪽에서 왼쪽으로 결합성을 가진 연산자다.



연산자 

설 명 

NEW 

새로운 객체 생성 

논리적인 NOT 

비트의 NOT 

++ --

증가와 감소 

+ - 

단항의 양수와 음수 

(int) 

정수(integer)로 형변환 

(double) 

실수(double)로 형변환 

(string) 

문자열(string)로 형변환 

(array) 

배열(array)로 형변환 

(object) 

객체(object)로 형변환 

에러를 보고하지 못하게 함 

? : 

조건문 

대입 



4. 관계형 연산자


관계형 연산자는 두 피연산자를 검사해 참이나 거짓 중 하나로 불 형태의 결과를 반환한다.

관계형 연산자는 3종류로 등가 연산자, 비교 연산자, 논리 연산자는 관계형 연산자이다.


등가연산자==, === , != , !==가 있다.

숫자로 된 문자열은 숫자와 비교될 때 숫자 형식으로 변환한다.

== , != 는 변수의 값을 비교하고, ===, !== 는 값이 정확히 일치하는지 비교한다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
  
   $a = "1000";
   $b = "+1000";

   if($a == $becho "1";      // 1 출력; 1000 과 +1000은 같은 값

   if($a === $becho "2";    // if문 조건 FALSE ; 1000과 +1000은 정확히 일치하지 않음

   if($a != $becho "3";     // if 문 조건 FALSE ; 1000과 +1000은 같은 값

   if($a !== $becho "4";    // 4 출력 ; 1000과 +1000은 정확히 일치하지 않음
   
?>


비교연산자를 사용하면 등가와 부등 연산자보다 많은 것을 검사할 수 있다.

>(큰), <(작은), >=(크거나 같은), <=(작거나 같은)을 제공한다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
  
   $a = 2; $b = 3;

   if($a > $becho "$a is greater than $b<br />";
   // 출력 안됨

   if($a < $becho "$a is less than $b<br />";
   // 2 is less than 3 출력

   if($a >= $becho "$a is greater than or equal to $b<br />";
   // 출력 안됨

   if($a <= $becho "$a is less than or equal to $b<br />";
   // 2 is less than or equal to 3 출력
   
?>


논리연산자는 참이나 거짓의 결과를 만들기 때문에 불 연산자이다.

논리 연산자로 AND, OR, XOR, NOT 이 있다.


 논리 연산자

설 명 

AND 

두 피연산자가 모두 참이면 참 

OR 

하나의 피연산자가 참이면 참 

XOR 

두 피연산자 중 하나가 참이면 참 

NOT 

피연산자가 거짓이면 참 또는 피연산자가 참이면 거짓 


논리 연산자의 결과가 FALSE 일때 NULL을 출력한다.

AND와 OR는 &&와 ||보다 우선순위가 아래이다.

OR 연산자에서 앞의 조건이 참일 경우 뒤의 조건은 확인하지 않음에 주의하자.



입 력 

연산자와 결과 

a

AND 

OR 

XOR 

참 

참 

참 

참 

거짓 

참 

거짓 

거짓 

참 

참 

거짓 

참 

거짓 

참 

참 

거짓 

거짓 

거짓 

거짓 

거짓 



5. 암묵적 형변환과 명백한 형변환

PHP는 느슨하게 입력된 언어라서 단지 사용함으로써 변수와 그 타입을 정의할 수 있도록 허용한다. 또한 필요할 때는 값도 자동으로 형변환된다. 이를 암묵적인 형변환이라고 한다.


1
2
3
4
5
6
7
8
9
10
11
<?php
  
  $a = 56;     // 정수형으로 대입
 
  $b= 12;     // 정수형으로 대입

  $c = $a / $b;  // 계산 결과값 4.66 실수형으로 암묵적 형변환

  echo $c;    // 실수형 4.66 출력

?>


하지만 실수형으로 계산되는 암묵적 형변환을 원하지 않을 수 있다. $c 를 정수형으로 사용하기 위해서 (int)를 사용해 $a/$b를 강제로 형변환한다. 이것을 명백한 형변환이라고 한다.


1
2
3
4
5
6
7
8
9
10
11
<?php
  
  $a = 56;     // 정수형으로 대입
 
  $b= 12;     // 정수형으로 대입

  $c = (int) ($a / $b);  // 계산 결과값 4.66 을 정수형으로 명백한 형 변환

  echo $c;    // 정수 4 출력

?>



형변환 형식 

설 명 

(int) (integer) 

소수점 이하를 없애고 정수로 변환 

(bool) (boolean) 

불 형으로 변환 

(float) (double) (real) 

실수형으로 변환 

(string) 

문자열로 변환 

(array) 

배열로 변환 

(object) 

객체로 변환 



여기까지 PHP를 시작할 때 알아야할 기본사항들을 정리하였다.

이어서 조건문, 반복문에 대해 포스팅을 하겠다.



출처: https://hyeonstorage.tistory.com/102?category=549768 [개발이 하고 싶어요]