이승한 /PHP

1.1. 주의 키워드

  • 가변변수
  • include "./input.inc"; // 헤더는 보통 inc의 확장자를 가진다. 기타 다른 확장자도 상관이 없다.

1.2. SQL API

  • 다양한 SQL 함수가 지원된다.
  • asp.net에서 보았던 ODBC 를 이용한 DB와의 통신보다 간단하고 빠른듯.

1.2.1. DB접속

  • 접속하기
    ~cpp   
    $dbconn = mysql_connect("<주소>", "<접근이름>", "<암호>");
    $is_connect = mysql_select_db("<DB파일 이름>", <mysql_connect의 리턴형 즉, DB접속정보>);
    //접속 예외 처리
    if(<mysql_select_db의 리턴형 접속 성공하였으면 true, 아니면 false>){
    	echo("MySql 서버 연결에 실패하였습니다.");
    } else{
    	echo("connected<br>");
    }
     
  • 1.2.2. query문과 그 처리


    ~cpp 
    $query = "select name, eng, math from score";//쿼리문을 스트링을 저장한다.
    $result = mysql_query($query, $dbconn); //<결과값저장변수> = mysql_query(<쿼리문저장된 스트링>, <DB접속정보>); //결과값은 2중배열의 형식으로 저장되는 듯.
    $totalRecord = mysql_num_rows($result); //<변수> = mysql_num_rows(<결과값저장변수>); //되돌아온 리코드의 수를 변수에 저장
    
    if( $totalRecord == 0 ){
    	echo( "저장된 레코드가 없습니다.");
    }else{
    	echo("<tr><td>번호</td><td>이름</td><td>영어</td><td>수학</td>");
    	for($i =0; $i< $totalRecord; $i++){
    		$name = mysql_result($result, $i, 0);
    		$eng  = mysql_result($result, $i, 1);
    		$math = mysql_result($result, $i, 2);
    		$no = $i + 1;
    		echo("<tr><td>$no</td>");
    		echo("<td>$name</td>");
    		echo("<td>$eng</td>");
    		echo("<td>$math</td></tr>");
    	}
    }
    

    1.3. 기초 기타사항

    1.3.1. 정규 표현식

    ??

    1.3.2. 기타 함수

    • getenv() //환경변수값.
      • REMOTE_ADDR: 접속한 컴의 IP주소
      • HTTP_USER_AGENT : 접속한 웹브라우저 정보
    • flush() //버퍼를 비우는 함수 // 뭔지 모르겠다.
    • sleep() //windows의 sleep과 같다.
    • exit() //말그대로 exit()

    1.3.3. 시간및 날짜 관련 함수

    • time() : 1970년 1월 1일 0시 0분 0초 이후 지난 시간을 초단위 누적 합.
    • date() : date("y/m/d A h:i:s", time()의 리턴값);

    1.3.4. string 관련함수

    PHP 변수타입으로 문자열을 지원한다. // 맞는지 모르겟네요. 대략 추정
    • addslashes(); //문자열 변수를 리턴. 문자열에 특수문자가 들어있을때 /를 추가하여 준다.
    • strcmp($val1, $val2); //같다면 1 다른다면 0
    • htmlspecilchars(); //& " ' < > 등 HTML에서 사용하는 키워드를 다른 키워드로 바꿔준다. ex>& -> & " ->"
    • nl2br() // n을 <br>로 바꾸어 준다.
    • explode() // 문자열을 특정한 문자열을 기준으로 분리하여 배열형태로 넘겨준다. array 사용법을 잘모르겠음.
    • implode() //explode와 반대

      ~cpp 
      //explode
      $array_string = explode(" ", $string);
      //implode
      $array_string = array("Apple", "Orange", "Banana", "Grape");
      $string = implode(" or ", $array_string);
        
    • substr($변수, 시작점, 끝점) //지정한 길이 만큼 문자열을 돌려준다. excel의 middle과 비슷. substr($string, 0, 5);
    • strlen() //C와 같다.
    • str_replace("찾을문자열", "바꿀문자열", $변수) // replace
    • ord() // 주어진 문자의 ascii코드값
    • chr() // 주어진 ascii 값의 해당 문자

    1.4. 기초문법

    • 문서의 시작과 끝
      • <? 와 ?>로 되어있다. (ASP는 <% %>를 사용하여 타이핑하기 불편하다.)
    • 각 명령 끝에는 세미콜론( ; )이 붙는다.
    • 주석 스타일 : C와 비슷하다
    • 화면에 문자 뿌리기 : echo(" 내용<br>");

    1.4.1. 변수의 종류와 사용

  • 기본사용 : $변수이름의 형식이며 변수 타입은 존재하지 않는다. 객체를 이용하여 type을 지정할수는 있다.
  • 배열변수 : 변수명0, 변수명1, 변수명2, 변수명3
  • 전역변수 : global $변수명;
  • 정적변수 : static $변수명;
  • 가변변수 : 변수값으로 변수명을 지정할 수 있다.
    ~cpp 
      $first = "good";
      $$first = "morning";
      echo("$good");
       
  • 1.4.2. html / form


    ~cpp 
      <form method="post" action="process.php">
      동물이름을 입력하세요<input type="text" name="animal">
      <input type="submit" value="확인">
      </form>.
      

    1.4.3. 연산자

  • 산술 : + - * / % 사칙연산과 나머지 연산이 존재한다. ++의 전후위 연산자도 있다.
  • 비교논리 : === != < > <= >= and or xor ! && || 이 있으며 우선순위는 C와 비슷한듯 하다.
  • 1.4.4. 조건 제어문

  • if, while, switch, for 이 존재한다.
  • break, continue
  • 1.4.5. 함수

    function 함수명(전달인자){ 함수내용; return 변수;} // Function 도 상관이 없었다. return은 없어도 돼며 type이 존재하지 않으므로 함수에 리턴타입은 존재하지 않는다.



    아... 이거 5년전에 보던 php다 -_-;;;
    하나도 기억 안나는데 php나 다시 공부해볼까?
    그런데 위키에 글이 왜 안써진다냐? - 이영호
    Retrieved from http://wiki.zeropage.org/wiki.php/이승한/PHP
    last modified 2021-02-07 05:30:31