php에서 더 작성할 문법이 없을 때 (php문으로만 구성된 경우)
아래와 같이 마지막 부분은 생략이 가능하다.
<?php
// ?>
?>
후 스페이스 한 칸이 들어가면 이상반응이 생길 수 있다.
<html>
<head>
<title>Document</title>
</head>
<body>
<h1>php 공부</h1>
<a href="#">링크 이동하기</a>
<?php
// $변수명 으로 선언한다.
$a = 1;
echo "문장이 끝나면 세미콜론이 반드시 필요하다.";
/*
html 주석은 'f12 소스보기'시 보이지만 php 주석은 보이지 않는다.
Server-Side Script기 때문, Server-Side에서 처리된 후 보내진다.
웹 서버 -> 사용자 브라우저로 주석은 애초에 보내지 않는 것.
소스가 보이지 않기 때문에 보안상 좋다.
cf. Client-Side Script, Markup Language : JS, html..
*/
?>
<script>
// JS 변수 선언
let a = 1;
document.write('echo는 JS의 document.write와 같다.');
</script>
</body>
</html>
1.php
와 1.html
의 결과는 동일하다.
# localhost/1.php
<?php
$txt = "piger";
echo "I love $txt!";
I love piger!
# localhost/1.html
I love piger!
I love piger!
# <?php
$x = 5; // 전역global변수는
function myTest() {
echo "변수 x의 출력값 $x"; // 펑션 안에서는
echo "<br>";
}
myTest(); // 가져올 수가 없다.
Warning: Undefined variable $x in C:\xampp\htdocs\1.php on line 15
변수 x의 출력값
# <?php
$x = 5; // 전역global변수지만
function myTest() {
global $x; // 이렇게 펑션 안에서 정의해주면*
$x++; // 1 증가
echo "변수 x의 출력값 $x";
}
myTest(); // 펑션 안에서도 6 출력
echo "변수 x의 출력값 $x"; // 외부에서도 6 출력
변수 x의 출력값 6
변수 x의 출력값 6
global $x;
로 정의해주지 않더라도 자동으로 연계한다.# <?php
$x = 5; // 전역변수
function myTest() {
$x = 3; // 펑션 안에서만 사용되는 지역변수
$x++; // 1 증가
echo "변수 x의 출력값 $x";
echo "<br>";
}
myTest(); // 내부 4
echo "변수 x의 출력값 $x"; // 외부 5
# <?php
$x = 5;
function myTest() {
$x = 3; // 지역local변수는
echo "변수 x의 출력값 $x"; // 펑션 안에서 출력된다.
echo "<br>";
}
myTest();
echo "변수 x의 출력값 $x"; // 함수 외부에서는 전역변수만 출력된다.
변수 x의 출력값 3
변수 x의 출력값 5
# <?php
function myTest() {
$x = 3; // 지역local변수
$x++;
echo "변수 x의 출력값 $x"; // 4
echo "<br>";
}
myTest(); // 4
echo "변수 x의 출력값 $x"; // 출력 안 됨
변수 x의 출력값 4
Warning: Undefined variable $x in C:\xampp\htdocs\1.php on line 22
변수 x의 출력값
# <?php
$x = 5; // 전역변수
function myTest() {
global $x; // $x=5 안에서도 쓰겠다 선언
$x++;
echo "변수 x의 출력값 $x"; // 6
echo "<br>";
}
myTest(); // 6
echo "변수 x의 출력값 $x"; // 6
변수 x의 출력값 6
변수 x의 출력값 6