PHP

 

표현식은 PHP에서 매우 중요한 내용이다. PHP에서 여러분이 작성하는 거의 모든 문장의 일부분이 표현식이다. 표현식의 정의를 엄밀하게 말한다면 “값을 가지고 있는 모든 것”(anything that has a value“)이다. 간단한 예제로 ”$a =5“ 와 같은 것이 있다. 이것은 5라는 값을 $a라는 변수에 대입하는 문장이다. 여기서 5라는 표현식은 5의 값이라는 의미가 된다. 위의 문장 다음에 ”$b=$a“라는 문장이 있다면 여기서 $a라는 표현식은 그 변수가 가진 5라는 값을 표현한다.

조금 복잡한 경우는 함수이다. 다음 예제를 보자.

function tmp(){

 

reutrn 10;

}

$c =tmp();

 

$c=tmp() 라는 문장에서 tmp()는 10을 돌려주기 때문에 ‘tmp()’라는 표현식은 10을 표현한다고 말할 수 있으며, 변수 $c에는 10이 저장된다. 즉, $c=10과 동링하다.

 

PHP 는 정수값, 실수값, 문자열의 3가지 스칼라 type을 가지고 있다. (스칼라 값이란 더 이상 작은 값으로 쪼개질 수 없는 것을 말한다.) 또한 PHP 는 배열과 객체의 2가지 혼합 type을 지원한다. 이 type들은 변수에 값을 할당할 수 있고, 함수에 의해 값을 돌려줄 수 있다. 여기

까지 는 PHP/FI 2사용자들은 아무것도 바뀌지 않았다고 느낄 것이다. PHP는 거의 모든 것이 표현식으로 표현된다는 점에서, 표현 중심언어라고 불릴 수 있다. 표현 중심의 좋은 예는 대입문이다. PHP에서는 C와 같이 대입문도 하나의 표현식으로 본다. 따라서 $a=4; $b=5;

$a=($b=5) 혹은 $a=$b =5;로 표현 가능하다.

 

다음 예제는 함수 tmp() 가 반환되는 값이 10이 되므로 변수 $c, $d, $e 값이 모두 10이 된다.

 

4.3.10 오류 제어 연산자 (Error control Operator)

 

PHP 는 @(at 표시)이라는 한 개의 오류 제어 연산자를 제공한다. PHP의 표현식 앞에 이 표시가 붙으면, 해당 표현식에서 발생한 모든 에러 메시지가 무시된다. 특히 이 오류 제어 연산자는 Database Query또는 Upload된 파일을 올리고, 지울 때 많이 사용한다.

 

만약 track_errors 기능이 활성화 되어 있다면, 해당 표현식에서 발생한 모든 에러 메시지는 $php_errormsg 라는 전역 변수에 저장될 것이다. 이 변수의 값은 매법 에러가 발생할 때마다 새로 설정된다. 따라서 이 변수를 사용하려면 에러가 발생한 직후에 최대한 빠리 사용하여야 한다.

<?php

 

 

// Intentional SQL error(extra quote)

 

$res =@mysql_query(“select name, code from ‘namelist”)

or die(“query failed: erro was ‘$php_errormsg’ “);

?>

 

 

about author

PHRASE

Level 60  머나먼나라

오직 남들을 위하여 산 인생만이 가치 있는 것이다. -아인슈타인

댓글 ( 4)

댓글 남기기

작성

PHP 목록    more