<?
//settype 함수가 정의되어 있는지 확인
$result= function_exists("settype");
echo $result;
?>


->정의되어 있다면 1출력
없으면 아무것도 출력안함

echo() 함수가 호출되면 결과를 출력
gettype() 함수가 호출되면 결과를 리턴
settype() 함수가 호출되면 내부적으로만 실행


<?
echo ("안녕");
echo "하세요";
?>

echo(매개변수) 이런식으로 사용되어야 하지만 echo라는 함수는 ()를 생략할 수 있도록 되어있다.


<?
echo ("echo함수는 화면에 결과를 출력 <br>");
$ex=123;
$result=gettype($ex);
echo "$result<br>";

echo gettype($ex)."<br>";

settype($ex, integer);
?>

settype함수는 내부실행함수이기에 겉으로 아무런 출력이나 리턴을 하지않는다 그런이유로 내부실행함수는 결과값의 출력이나 리턴이 없는 대신에 함수호출의 성공여부를 리턴한다.
기본적으로 트루는 1이라는 값을 갖고 폴스는 아무런 값(null)도 갖고있지 않다.

<?
echo TRUE;
echo "<br>";
echo FALSE;
?>

<?
$ex=123;
$result= settype($ex, integer);
echo $result;
?>

<아파치환경변수>
SERVER_NAME -현재 PHP가 실행되고 있는 서버의 이름
SERVER_PROTOCOL -현재 PHHP가 실행되고 있는 서버의 프로토콜
SERVER_PORT -현재 PHP가 실행되고 있는 서버의 포트번호
SERVER_SIGNATURE -현재 PHP가 실행되고 있는 서버의 버전과 이름, 포트번호
DOCUMENT_ROOT -현재 PHP가 실행되고 있는 서버의 루트
HTTP_REFERER -현재 페이지로 이동하기 전의 페이지주소(링크일경우)
REMOTE_ADDR -클라이언트의 IP주소
REMOTE_PORT -서버와 통신중의 클라이언트의 포트번호
SCRIPT_FILENAME -현재 실행중인 파일의 절대경로
SCRIPT_NAME -현재 실행중인 파일의 이름

위에 나열된 환경변수를 사용하려면 변수명 앞에 $를 붙여줘야함

<?
echo $REMOTE_ADDR;
?>

<?
echo "
서버의 이름: $SERVER_NAME <BR>
서버의 프로토콜: $SERVER_PROTOCOL <BR>
서버의 포트번호: $SERVER_PORT <BR>
서버의 정보: $SERVER_SIGNATURE <BR>
서버의 루트: $DOCUMENT_ROOT <BR>
이전의 페이지주소: $HTTP_REFERER <BR>
클라이언트의 IP주소: $REMOTE_ADDR <BR>
클라이언트의 포트번호 : $REMOTE_PORT <BR>
파일의 절대경로: $SCRIPT_FILENAME <BR>
파일의 이름: $SCRIPT_NAME <BR>
<a href='$SCRIPT_NAME'>LINK</A>
";
?>


<PHP환경변수>
PHP_SELF -현재 실행중인 파일의 이름
HTP_COOKIE_VARS -쿠키를 사용해 전달된 변수들의 배열
HTTP_GET_VARS -GET방식으로 전달된 변수들의 배열
HTTP_POST_VARS -POST방식으로 전달된 변수들의 배열
HTTP_POST_FILES -POST방식으로 업로드된 파일정보들의 배열
HTTP_ENV_VARS -현재 PHP가 실행되고 있는 서버환경정보들의 배열
HTTP_SERVER_VARS -현재 PHP가 실행되고 있는 서버 정보들의 배열

<?
echo $PHP_SELF;
?>

$PHP_SELF는 아파치 환경변수의 $SCRIPT_NAME과 같은 결과
또한, $HTTP_SERVER_VARS["SCRIPT_NAME"]나
$_SERVER["SCRIPT_NAME"]으로도 같은 결과를 얻을 수 있따
아파치 환경변수에서 값을 그대로 가지고 오기때문이다

<?
//현재파일명 출력하기
echo "
$PHP_SELF <BR>
$SCRIPT_NAME <BR>
$HTTP_SERVER_VARS[SCRIPT_NAME] <BR>
$_SERVER[SCRIPT_NAME]
";

?>



 

상수란 변수와 상반되는 개념으로 미리 지정되어 있거나 한번 지정하면 그 값을 바꿀 수 없는 것

_FILE_ 현재 실행중인 파일의 절대 경로와 파일명

_LINE_ 현재 실행중인 명령줄 번호

PHP_VERSION 현재 사용중인 PHP해석기의 버전

PHP_OS 현재 PHP를 해석하고 있는 서버의 OS

TRUE 참

FALSE 거짓


ex>
<?
$file = __FILE__;
$line = __LINE__;
$version = PHP_VERSION;
$os= PHP_OS;
echo "현재 ${file}의 ${line}번째 줄이 실행 중입니다. <br>
 사용중인 PHP버전은 ${version}이며, ${os}에서 실행중입니다.";
?>

<상수의 정의>
define ("상수명", "값");

ex>
<?
define("TEST", "OK");
echo TEST;
echo "<br>";
define("PHP_OS", "LINUX");
echo PHP_OS;
?>

PHP_OS라는 상수는 미리 정해져있는 상수이기 때문에 바꿀수 없다는 것을 알 수 있다.


ex>
<?
define("TEST", "OK");
echo TEST;
echo "<br>";
define("TEST", "NO");
echo TEST;
?>
우리가 임의로 정의한 상수도 처음에 정의된 값이 바뀌지 않는다.

1. 변수명은 숫자로만 이루어질 수 없으며, 변수명의 맨 앞글자는 숫자가 올 수 없다
$1234, $1a (x)
$abcd, $a1(o)


2. 변수명에는 특수 문자를 사용할 수 없다. (_는 예외)
$abc#3, $abc$ (x)
$abc_3 (o)


3.변수명은 영문대소문자를 구별
$ab 와 $AB는 다르다


4. 변수명에는 한글 또는 한자를 사용할 수 있다. 하지만 바람직하지는 못함
$나이


<정수형 변수>
<?
$a=-100;
$b=0;
$c=100;

echo " $a <br> $b <br> $c";
?>

출력은 이렇게 나온다


<문자형 변수>
<?
$a = "안녕";
$b = "<br>";
$c = "하세요";

echo " $a $b $c "
?>

->소스 보기를 한다면 이리 나옴


<변수형의 변환>
gettype -> 어떤 변수형인지 알아볼때
<?
$a = 123;
echo gettype ($a);
?>
<br>
<?
$a = "안녕";
echo gettype ($a);
?>


<?
$a = 1.23;
echo $a;
echo "<br>";
echo gettype ($a);
echo "<br>";
$a = (integer)$a;
echo $a;
echo "<br>";
echo gettype ($a);
?>


<변수형변경하기>-> type casting
변수2=(변수형) 변수1;


int, integer
real, double, float
string
array(배열) : 같은 형의 데이터들로 이루어진 집합
object : 객체지향 프로그래밍에서 데이터와 그 데이터에 관련되는 절차 방법,기능을 모두 포함한 개념



settype -> 변수형을 정해줌
settype(변수1, 변수형)

ex) settype ($a, integer) -> $a를 정수형으로 바꿔라!


<가변변수>
<?
$a = "php";
$$a = "html";
echo $a;
echo "<br>";
echo $$a;
echo "<br>"
echo $php;
echo "<br>";
?>


<변수의 연결과 구분>
<?
$color="gray";
$text="안녕";

echo "<body bgcolor = '$color' >";
echo "$text하세요";
?>

<변수연결하기>
그런데 띄어쓰기를 하지않고 표현하려면
. (dot)을 이용해야 한다
->        $text. "하세요";

이렇듯 . 은 변수와변수 또는 변수와 문자열을 연결해주는 접착제 역할을 한다.
<?
$a="안녕";
$b="하세요";
$c=$a.$b;

echo $c;
?>

이것도 마찬가지 결과다
<?
$a="안녕";
$b="하세요";
$a.=$b;

echo $a;
?>

즉 $a.=$b 는 $a= $a.$b 와 같다는 의미




{}로 변수를 묶어 주어 변수의 범위를 정해줄 수 있다
"${text}하세요" 라고 하면 text가 변수로 한정된다



<?
$color="gray";
$text="안";
$text.="녕";

echo "<body bgcolor = ' " . $color . " '>";
echo "${text}하세요";
?>




 

출력문에서는 echo or print를 사용하며 반드시 끝에 ;를 붙여준다
;를 문장의 끝으로 인식하기에 반드시 붙여줘야 한다 안붙이면 에러난다

//잘된 표현
echo 안녕;
echo 안녕하세요;
echo "안녕 하세요";

//잘못된 표현
echo 안녕 하세요; //에러(안녕 다음에 공백이 있어 문장끝으로 인식하는데  ; 이 없기에)


$a=1;
echo ' $a ' ; //$a를 출력 = 문자그대로를 출력
echo " $a " //1을 출력 = 문자 내용을 출력



큰 따옴표를 출력하려면, 특수문자를 출력하기 위해서는 반드시 /를 붙이고 그다음에 특수문자를 쓴다.
echo "야 "php" "; //에러
echo "야 /" php /" "; //ok

/" 큰따옴표 출력
/' 작은 따옴표 출력
/n /줄바꾸기
/r 엔터키 입력
/t 탭키 입력
/$s 스트링출력
// 역슬래시출력

다음줄로 넘어가기 위해서는 html의 <br> 태그를 이용하자

1.php안에서  주석 처리를 하려면 다음과 같이 사용한다

<?      

//이건 주석으로 인식

/* 이것도 주석으로 인식 */

 ?>


2. html에서 주석처리 하려면 다음과 같이 사용한다

<html>

<!-- 주석처리 -->

</html>

1.자바스크립트의 시작이 <script language=javascript> 이렇게 시작되는 것을 본적이 있을 것이다 이와 마찬가지로 php의 시작을 이와 비슷하게 사용할 수 있다.

//여기에 내용을

</script>


2. <?php

//여기에 내용을

?>


3. <?

//여기에 내용을

?>

사람들은 주로 3번을 사용한다. 왜냐믄 제일 간단하니까

+ Recent posts