달리는 자동차

PHP정리 1 본문

PHP/독학

PHP정리 1

@또또 2020. 9. 6. 21:33

웹언어 : 서버사이드언어, 클라이언트 사이드언어

클라이언트 사이드 언어 : 나의 컴퓨터에서 작동하는 언어, HTML,CSS,JS,JQuery가 이에 해당 한다.

서버사이드 언어 : 서버에서 작동하는 언어, PHP,ASP,NET,JSP가 있다.

HTML을 이용하여 회원가입 페이지를 만들었고, 아이디 중복기능 확인을 넣고싶다면 PHP를 이용하여야 한다.
PHP를 이용하여 데이터베이스에 접속해서 해당하는 아이디의 존재유무를 확인하며, 존재한다면 다를 아이디 
이용을 권하며, 존재하지 않는다면 사용해도 좋다고 표시해야한다.
회원정보를 저장할 때도 PHP를 이용하여 데이터베이스에 저장하게 된다.
PHP를 자신의 컴퓨터에서 사용하려면 자신의 컴퓨터를 서버로 만들어야한다.
그렇게 하기 위해서 아파치서버, PHP, 그리고 데이터베이스를 설치해야 한다.
이것을 줄여서 APM이라고 한다. 

아파치서버(Apache), PHP, 데이터베이스(MySQL)----------> APM

<!--출력문-->
<?php
	echo "hello world"//대소문자를 구분하지 않아 ECHO를 입력해도 결과는 같다.
?>

<?php
//PHP에서 주석문 : 한줄 주석
/*문단 주석*/
?>

 

변수선언 

타프로그램 언어 

int var;
var=10;

php에서는 
$var=10;
(달러를 사용한다.)

두개의 단어를 변수로 지정하고자 할 때는 언더바를 사용하는 경우도 있고, 카멜표기법을 사용하기도 한다.
예를들어 언더바를 사용하는 경우는, $my_car 
카멜표기법은 카멜은 낙타를 뜻하는 영어단어이며, 낙타의 등 모양처럼 작성하는 방법을 말한다.
카멜표기법
변수의 처음시작하는 단어의 첫문자는 소문자를 사용하며 그 다음 오는 다른 단어의 첫문자만 대문자를 사용한다.
 $myCar 이런식으로 표현된다.

언더바나 카멜표기법 둘 중 카멜표기법을 주로 더 많이 사용한다.

<?php
echo "변수 선언 하는 법<br/>";
$num=33;
$num2=33.333;
$studentName="hong gil dong";
echo "\$num=$num<br/>"
echo "\$num2=$num2<br/>"
echo "\$studentName=$studentName";
?>

/*위의 소스에서 변수명 앞에 \를 쓰는 이유는 
echo"";안에서 변수명을 쓰면 그 변수의 값이 출력 되지만 앞에 \를 붙여주면 
그 변수명이 출력된다. 
즉, $num이라고 쓰면 결과가 33이 나오지만 \$num을 쓰면 결과가 $num이 나온다.*/
//평균을 구하는 프로그램
<?php
echo"3과목의 평균을 구해보아요.";
echo"----------------------<br/>";

$math=100;
$english=95;
$science=85;

$sum=$math+$english+$science; // <----$sum이라는 변수를 만들고 값은 3과목의 합이다.
$avg=$sum/3;

echo "math point : $math<br /> english point : $english<br/ > science point : $science<br />";
echo "==================================<br />";
echo "==================================<br />";
echo "total : $sum <br />";
echo "average : $avg<br />";
echo "what is the type of \$avg? <br/>";
echo gettype($avg);
?>


//정수형의 오버플로우 형변환
/*정수형 값의 표현인(-2147483648~2147483647)를 초과하게 되면 정수형이 아닌 실수형으로 넘어가게 된다.
var_dump()라는 함수를 사용한다. 이 함수는 데이터형과 값을 출력해준다.*/

<?php
echo "오버플로우 형 변환<br />"
echo "------------------<br />"
$num = 2147483647;//범위 안에 가장 큰 수를 넣는다.
echo "변수 \$num 출력 결과<br />";
var_dump($num); //값과 데이터 형을 출력, 결과 int(2147483647)
echo "
..........[정수형으로 출력]<br /><br />";
$num +=1; //이것은 $num에 +1을 한다는 것이다.
echo "변수 \$num+1의 출력결과<br />";
var_dump($num); //결과 : int(2147483648)
echo"
.................[실수형으로 출력]";
?>

변수 : 선언 후 다른 값을 대입한 후에도 다시 다른 값을 또 선언할 수 있다.

상수 : 변수의 반대 개념으로 어떤 값을 대입한 후에 다른 값을 대입해도 값이 변하지 않는다.

즉, 기본적으로 어떤한 값이 변해야 할 이유가 있다면 변수를  사용하고 변하지 않아야 한다면 상수를 사용한다.

상수를 선언하려면 define문을 사용한다.

상수 선언 방법
define('상수명','값');

상수명은 소문자 대문자 모두 사용할 수 있지만 보통 통상적으로 대문자를 사용한다.(약속)

변수와 달리 $는 사용하지 않는다. 단어 단어 사이에는 언더바를 사용한다. 

변수 선언시 $myCar로 사용했다면 상수는 MY_CAR로 사용한다. 상수를 출력하려면 상수명만 출력문을 통해서 적는다.

상수명 출력방법
echo 상수명;
<?php
	definne('MY_CAR','porsche911');
    echo MY_CAR;
?>

define( )의 첫번째 값은 상수명, 두번째는 상수값을 입력, 세번째 값도 입력할 수 있으며 대소문자를 구분 할 지 이다.

세번째 값에 넣을 수 있는 값은 true, false이다. 값을 입력하지 않으면 기본적으로  true가 입력된다. true는 대소문자를 

구분하지 않는다는 의미이고 false는 대소문자를 구분한다는 의미이다.  즉.. 상수명을 DISNEY로 하여 true로 선언했다면

disney로도 해당 상수 값을 출력할 수 있다. 

<?php
define('DISNEY','MICKEY',true);
echo disney; //MICKEY가 출력
?>

<?php 
define('DISNEY','MICKEY',false);
echo disney; //대소문자를 구분하기 때문에 그대로 disney가 출력된다.
?>
here doc 사용하기
코드의 라인과 관계없이 값을 변수에 선언할 때 here-doc을 사용한다.
//here doc 사용 방법
$string = <<<EOL
대입할 값
대입할 값
대입할 값
EOL;

/*위의 코드를 보면 대입할 값을 입력하기 전에 <<<로 시작하여 EOL을 입력했다.
이것은 코드라인과 관계없이 값을 대입함을 시작한다는 의미이다.
그리고 모두 작성했다면 마지막으로 EOL을 한번 더 입력한다.*/
<?php 
	$hereDoc=<<EOL
 동해물과 백두산이 <br>
 마르고 닳도록 <br>
 하느님이 보우하사 우리나라 만세<br>
 EOL;
 	echo $hereDoc;
 ?>
 
 /*
 동해물과 백두산이
 마르고 닳도록
 하느님이 보우하사 우리나라 만세
 */

 

//변수도 넣을 수 있다.
<?php
$hello="안녕하세요?";
$hereDoc=<<EOL
$hello<br>
동해물과 백두산이<br>
마르고 닳도록 하느님이<br> 
보우하사 우리나라 만세<br>
EOL;
	echo $hereDoc;
?>

here doc에서 사용한 EOL은 터미네이션 ID라고 부르며, EOL외에도 EOT,END가 있다. 서로다른 것을 쓰면 

작동하지 않으며 같은것으로 시작하고 끝나야 한다.


제어문에는 대표적으로 IF문과 switch문이 있다.
if문이란 주어진 조건이 참이라면 그 다음 명령을 실행하고 거짓이면 실행하지 않는다.
<?php
	$a=50;
    if($a==50){
    echo "hi";
    }
?>
//조건문에서 같다는 표현을 쓸때 == 로 표시한다.
//결과 : hi를 보여준다.

<?php
	$a=50;
    
    if(a==40){
    echo "hi";
    }
?>
//거짓이기 때문에 아무것도 표현하지 않는다.


 

else 문

else문은 if문과 함께 사용하는 명령문이다. if문에 참이 아닌 거짓일때 하는 명령을 주기 위해 else를 이용한다.

//어떤 수의 홀, 짝을 알려주는 소스
<?php
	echo "\$a=15, \$b=23의 곱셈연산 결과 값의 홀,짝수 구별<br />";
    echo "<hr/>";
    
    $a=15;
    $b=23;
    $gob=$a*$b;
    
    if($gob %2==0){
    echo "$a*$b의 값은 짝수이다. 결과값 {$gob} <br />";
    }else{
    echo "$a*$b의 값은 홀수이다. 결과값 {$gob} <br />";
    }
 ?>
//아래의 소스는 전공80점 이상 교양70점 이상 졸업시험을 통과하는 소스이다.
<?php
	echo "전공 80점 이상, 교양 75점 이상을 졸업시험 통과<br />";
    
    $var1=84; //전공
    $var2=75; //교양
    
    if($var1 >=80 && $var2>=75){
    echo "전공 $var1점 , 교양 $var2점 당신은 졸업시험에 통과 하셨습니다.<br />"
    }else{
    echo "전공 $var1점, 교양 $var2점 당신은 졸업시험에 통과하지 않으셨습니다. 5학년이 되어주세요..<br />";
    }
    ?>
    
    

<?php
 echo "입장료 할인 적용<br />";
 echo "----------------------------------<br />";
 echo "10세 이하 50%, 65세 이하 80% 군인은 면제<br />";
 
 $fee = 5000;
 $age = 88;
 $sol = "군인";
 
 if($sol == "시민"){
 	echo "$sol은 무료 입장 입니다. </br>";
   }else if($age<=10){
   $fee *= 0.5; //0.5를 곱하면 반값이 된다.
   echo "{$age}세는 어린이 이므로 50%ehls 5000 * 0.5= $fee으로 입장가능하다.<br/>";
   }else if($age >=65){
   $fee *=0.2;
   echo "{$age}세는 경로우대로 80%할인된 5,000*0.2(1-0.8) ={$fee}으로 <br />";
   echo "요금은 {$fee}원만 내면 된다.<br />";
   }else{//위의 조건에도 부합하지 안으면 아래의 명령실행..
   	echo "기본 입장료는 5000원 입니다.<br />";
    }
?>
<?php
 echo "<b> 3과목의 총점과 평균, 등급구하기</b><br />";
 
 $math=100; 
 $elec_circuit=80;
 $design="77";
 
 $sum= $math+$elec_circuit+$design;
 $avg=$sum/3; //세과으ㅜㄹ 

 

 

 

 

 

 

'PHP > 독학' 카테고리의 다른 글

## PHP 개발 환경 구성하기  (0) 2021.02.10
xampp 세팅 오류  (0) 2021.01.21
PHP에서 include 와 require의 차이  (0) 2020.08.20
세션  (0) 2020.08.16
쿠키  (0) 2020.08.16
Comments