검색결과 리스트
PHP/팁앱테크에 해당되는 글 7건
- 2013.01.13 javascript escape 인코딩 php로 디코딩 하기 2
- 2012.06.08 php 문서 안에 HTML 문서 쉽게 넣기
- 2012.04.03 PHP 제어 구문과 문법
- 2012.04.03 php5 autoload 활용하기
- 2012.03.29 php array 값중 가장 큰 값을 추출(max)하고 그 값이 가리키고 있는 키값(array_search)을 추출한다
글
javascript escape 인코딩 php로 디코딩 하기
// script /======================================================
< script >
var title;
title =escape("ㅇㄹㄴ#$#%2ㅇ,ㄹㅇ남; ㄹㅇㄴㅁ");
< /script >
// php /=========================================================
< ?php
function js_unescape($s) {
$s= preg_replace('/%u(....)/', '&#x$1;', $s);
$s= preg_replace('/%(..)/', '&#x$1;', $s);
return html_entity_decode($s, ENT_COMPAT, 'utf-8');
}
$title = js_unescape($_REQUEST['title']);
? >
'PHP > 팁앱테크' 카테고리의 다른 글
php 문서 안에 HTML 문서 쉽게 넣기 (0) | 2012.06.08 |
---|---|
PHP 제어 구문과 문법 (0) | 2012.04.03 |
php5 autoload 활용하기 (0) | 2012.04.03 |
php array 값중 가장 큰 값을 추출(max)하고 그 값이 가리키고 있는 키값(array_search)을 추출한다 (0) | 2012.03.29 |
php array 함수의 마력 array_splice, array_values 활용 (0) | 2012.03.29 |
설정
트랙백
댓글
글
php 문서 안에 HTML 문서 쉽게 넣기
php 문서에 html과 함께 코딩하는 경우가 많은데
이럴때 활용하면 가독성도 좋고 코딩하기 편합니다.
즉 템플릿 개념과 비슷하다고 볼 수 있겠죠
$string = <<<HTML < H3 >{$title}< /H3> < div >{$contents} HTML 소스를 편하고 보기좋게 넣을 수 있다 아주 좋아 HTML;
'PHP > 팁앱테크' 카테고리의 다른 글
javascript escape 인코딩 php로 디코딩 하기 (2) | 2013.01.13 |
---|---|
PHP 제어 구문과 문법 (0) | 2012.04.03 |
php5 autoload 활용하기 (0) | 2012.04.03 |
php array 값중 가장 큰 값을 추출(max)하고 그 값이 가리키고 있는 키값(array_search)을 추출한다 (0) | 2012.03.29 |
php array 함수의 마력 array_splice, array_values 활용 (0) | 2012.03.29 |
설정
트랙백
댓글
글
PHP 제어 구문과 문법
PHP의 다양한 제어 구문과 문법을 알아 보겠습니다.
1. IF 문
Note: elseif와 else if은 위 예제처럼 대괄호를 사용할 때 정확히 같은 구문으로 간주됩니다. if/elseif 조건을 콜론을 사용해서 정의할 때, else if 처럼 두 단어로 나눠서는 안됩니다. PHP는 처리 오류로 실패합니다.
/* 방법1 */ if($a > $b): echo $a." is greater than ".$b; elseif ($a == $b) : // 단어가 붙어 있어야 함. echo $a." equals ".$b; else: echo $a." is neither greater than or equal to ".$b; endif; /*방법2*/ $hour = 11; echo $foo = ($hour < 12) ? "Good morning!" : "Good afternoon!";
2. if 안의 if문 일때
if($a): echo $a; if($b) { echo $b; }; // <- closing semicolon else: echo $c; endif;
3. while 문
/* example 1 */ $i = 1; while ($i <= 10) { echo $i++; } /* example 2 */ $i = 1; while ($i <= 10): echo $i; $i++; endwhile;
4. for 문
/* 예제 1 */ for ($i = 1; $i <= 10; $i++) { echo $i; } /* 예제 2 */ for ($i = 1; ; $i++) { if ($i > 10) { break; } echo $i; } /* 예제 3 */ $i = 1; for (; ; ) { if ($i > 10) { break; } echo $i; $i++; } /* 예제 4 */ for ($i = 1, $j = 0; $i <= 10; $j += 1, print $i, $i++); /* 예제 5 */ for ($i = 1; $i <= 10; $i++): echo $i; endfor;
5. switch 문
/*예제 1*/ switch ($i) { case 0: echo "i는 0과 같다"; break; case 1: echo "i는 1과 같다"; break; case 2: echo "i는 2와 같다"; break; default: echo "i는 0, 1, 2 어느것도 아니다"; } /* 예제 2 */ switch ($i): case 0: echo "i equals 0"; break; case 1: echo "i equals 1"; break; case 2: echo "i equals 2"; break; default: echo "i is not equal to 0, 1 or 2"; endswitch;
6. foreach 문
$arr = array("하나", "둘", "셋"); /*방법1*/ foreach ($arr as $key => $value) { echo "키: $key; 값: $value
\n"; } /*방법2*/ foreach ($arr as $key => $value) : echo "키: $key; 값: $value"; endforeach;
'PHP > 팁앱테크' 카테고리의 다른 글
javascript escape 인코딩 php로 디코딩 하기 (2) | 2013.01.13 |
---|---|
php 문서 안에 HTML 문서 쉽게 넣기 (0) | 2012.06.08 |
php5 autoload 활용하기 (0) | 2012.04.03 |
php array 값중 가장 큰 값을 추출(max)하고 그 값이 가리키고 있는 키값(array_search)을 추출한다 (0) | 2012.03.29 |
php array 함수의 마력 array_splice, array_values 활용 (0) | 2012.03.29 |
설정
트랙백
댓글
글
php5 autoload 활용하기
PHP5 autoload 함수 활용하기
PHP5 부터는 __autoload 라는 특별한 함수를 지원한다.
기존의 클래스 파일을 사용하기 위해서는
include '/classes/db/DbMysqli.class.php';
$db = new DbMysqli();
이와 같이 include 먼저 하고나서
클래스를 선언하여 사용해야 했다.
엄청 불편하다
자바처럼 그냥 new 로 생성해서 사용하면 편한데 말이다. ^^
그래서 나온것이 바로 요놈 __autoload 이다
이놈을 사용하게 되면
그냥 include 를 수동으로 코딩하지 않아도
__autoload 이놈이 알아서 include 해준다.
그러므로 이제부터는 그냥
$db = new DbMysqli();
이렇게만 선언해서 사용하면 된다.
아래 소스는 __autoload 를 정의 해 놓은 것이다
소스는 이렇다
@ __autoload Source
# 절대 경로 define('_ROOT_PATH_', '/www/설치경로'); # 클래스 자동 인클루드 function __autoload($class_name) { # 클래스명중 경로 추출 $tmp_args = explode(' ', preg_replace( '/([a-z0-9])([A-Z])/', "$1 $2",$class_name)); $class_path_name = sprintf("%s/{$class_name}",strtolower($tmp_args[0])); # 체크 if(!class_exists($class_path_name,false)) { # classes 폴더 if(file_exists(_ROOT_PATH_.'/classes/'.$class_path_name.'.class.php') !==false){ include_once _ROOT_PATH_.'/classes/'.$class_path_name.'.class.php'; } # modules 폴더 else if(file_exists(_ROOT_PATH_.'/modules/'.$class_path_name.'.class.php') !==false){ include_once _ROOT_PATH_.'/modules/'.$class_path_name.'.class.php'; } # 기타 만든 클래스 폴더 [첫대문자만 폴더로 지원] # ( /my/MyTest.class.php -> MyTest.class.php) else if(file_exists(_ROOT_PATH_.'/'.$class_path_name.'.class.php') !==false){ include_once _ROOT_PATH_.'/'.$class_path_name.'.class.php'; } } }
자 이젠 __autoload 함수 정의 해 놓은 것을 설명할 차례군요
먼저, 아래와 같은 폴더 구조에 클래스 파일들이 있다고 가정을 합니다.
|----------------------------------------------------------------
| 파일경로 및 클래스 파일명 | 클래스명
|-----------------------------------+----------------------------
/classes/db/DbMysqli.class.php // class DbMysqli{ }
/classes/req/ReqForms.class.php // class
ReqForms { }
/classes/tpl/TplFusion.class.php // class
TplFusion {}
/modules/bbs/BbsModel.class.php // class BbsModel{ }
/modules/mem/MemModel.class.php // class MemModel{ }
/my/MyTest.class.php // class MyTest{ }
1. __autoload($class_name) 는 new 라는 명령만 떨어지면 자동으로 호출이 됩니다.
$db = new DbMysqli();
new -> __autoload 를 호출하고
$class_name -> DbMysqli 클래스 명이 되는거죠
2. 클래스명에서 클래스가 위치 하고 있는 경로를 추출합니다. 기준은 첫번째 대문자로 시작하고
다음 대문자가 나오기 전까지의 클래스명의 문자는 폴더를 가리킵니다.
DbMysqli 이건 폴더 db 를 가리키고
ReqForms 이건 폴더 req 를 가리키고
BbsModel 이건 폴더 bbs 를 가리키고
MemModel 이건 폴더 Mem 를 가리키고
MyTest 이건 폴더 my 를 가리킵니다.
위와 같은 기준으로 위치 (폴더) 를 알아냅니다.
# 클래스명중 경로 추출 $tmp_args = explode(' ', preg_replace( '/([a-z0-9])([A-Z])/', "$1 $2",$class_name)); $class_path_name = sprintf("%s/{$class_name}",strtolower($tmp_args[0]));
2. 이미지 인클루드된 클래스 파일이 있는지 확인 한 후 있으면 include 안하고
없으면 하게 될겁니다.
제가 코딩 해 놓은건
일단 무조건
1. classes 폴더 밑에 클래스 이름 폴더를 찾고 없으면
2. modules 폴더 밑에 클래스 이름 폴더를 찾고 그리고 나서
3. 선언된 클래스의 이름 폴더를 찾도록 하였습니다.
전 이유가 있어서 그랬지만 1,2번을 삭제하고 바로 3번만 선언해서 사용하셔도 됩니다.
그 역할을 하는 소스 부분이 바로 이 부분
# 체크 if(!class_exists($class_path_name,false)) { # 1. classes 폴더 if(file_exists(_ROOT_PATH_.'/classes/'.$class_path_name.'.class.php') !==false){ include_once _ROOT_PATH_.'/classes/'.$class_path_name.'.class.php'; } # 2. modules 폴더 else if(file_exists(_ROOT_PATH_.'/modules/'.$class_path_name.'.class.php') !==false){ include_once _ROOT_PATH_.'/modules/'.$class_path_name.'.class.php'; } # 3. 기타 만든 클래스 폴더 [첫대문자만 폴더로 지원] # ( /my/MyTest.class.php -> MyTest.class.php) else if(file_exists(_ROOT_PATH_.'/'.$class_path_name.'.class.php') !==false){ include_once _ROOT_PATH_.'/'.$class_path_name.'.class.php'; } }
끝까지 읽어 주셔서 감사합니다.
이 방법 말고도 php.net 에 보시면 클래스도 지원합니다.
마음에 드는 방법으로 사용하세요
'PHP > 팁앱테크' 카테고리의 다른 글
php 문서 안에 HTML 문서 쉽게 넣기 (0) | 2012.06.08 |
---|---|
PHP 제어 구문과 문법 (0) | 2012.04.03 |
php array 값중 가장 큰 값을 추출(max)하고 그 값이 가리키고 있는 키값(array_search)을 추출한다 (0) | 2012.03.29 |
php array 함수의 마력 array_splice, array_values 활용 (0) | 2012.03.29 |
abcd1004 중 뒤의 숫자만 추출하기 (0) | 2012.03.21 |
설정
트랙백
댓글
글
php array 값중 가장 큰 값을 추출(max)하고 그 값이 가리키고 있는 키값(array_search)을 추출한다
php array 값중 가장 큰 값을 추출(max)하고 그 값이 가리키고 있는 키값(array_search)을 추출한다
PHP의 매력 ㅎㅎㅎ
뭐 말하려니 입이 아프네요 ㅎㅎㅎ
오늘은 배열 값 중에서 가장 큰 값을 찾는 것과
그 값이 가리키는 키값을 찾는 걸 해볼까 합니다.
알면 유용하니 잘 보아 두세요.
@ 다음과 같은 배열이 있습니다.
$tmp_v_args = // 결과 Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 [7] => 0 [8] => 0 [9] => 0 [10] => 0 [11] => 0 [12] => 0 [13] => 0 [14] => 0 [15] => 0 [16] => 0 [17] => 0 [18] => 0 [19] => 58 [20] => 33 [21] => 58 [22] => 57 [23] => 9 [24] => 16 [25] => 102 [26] => 115 [27] => 138 [28] => 22 [29] => 0 [30] => 0 )
@ 배열중 가장 큰 값을 추출 하겠습니다.
$max_int_v = max($tmp_v_args); #배열중 가장 큰 값 추출 // 결과 138
@ 추출한 값이 가리키는 배열의 키를 추출하겠습니다.
$max_int_v_key = array_search($max_int_v, $tmp_v_args); #값이 가리키는 키값 추출 // 결과 27
@ 위 코드를 한번에 작성하면 다음과 같이 되겠죠
$max_int_v = max($tmp_v_args); #배열중 가장 큰 값 추출 $max_int_v_key = array_search($max_int_v, $tmp_v_args); #값이 가리키는 키값 추출
끝까지 읽어 주셔서 감사합니다.
'PHP > 팁앱테크' 카테고리의 다른 글
php 문서 안에 HTML 문서 쉽게 넣기 (0) | 2012.06.08 |
---|---|
PHP 제어 구문과 문법 (0) | 2012.04.03 |
php5 autoload 활용하기 (0) | 2012.04.03 |
php array 함수의 마력 array_splice, array_values 활용 (0) | 2012.03.29 |
abcd1004 중 뒤의 숫자만 추출하기 (0) | 2012.03.21 |