반응형

배열 크기 조회

int count (array $data)

$data의 길이를 조회한다.

 

 

연관배열

라벨을 갖는 배열

  • 배열의 각 행과 열에 라벨을 적용하여 key와 value의 쌍으로 정의한다.
  • key는 문자열 형태로 지정하고, “=>”기호를 사용하여 값을 명시한다.

 

1차 연관 배열 만들기

$myarray = array("key" => value, "key" => value);

 

빈 배열을 확장하기

$myarray = array();
$myarray["key"] = value;
$myarray["key"] = value;

 

연관배열 값을 활용하기 : 배열의 값은 key를 활용하여 접근한다.

$myvalue = $myarray["key"]; // 배열의 값을 다른 변수에 복사하기
echo($myarray["key"]); // 배열의 값을 출력하기

 

 

2차 연관 배열

2차 배열의 행과 열에 대한 key를 적용할 수 있다.

$myarray = array(
	“key”=> array(“key”=> value, “key”=> value ), 
	“key”=> array(“key”=> value, “key”=> value )
);

배열의 값에 인덱스가 아닌 key를 활용하여 접근할 수 있다

$myvalue = $myarray["key"]["key"]; // 배열의 값을 다른 변수에 복사하기
echo($myarray["key"]["key"]); // 배열의 값을 출력하기

 

 

복합 배열

  • 인덱스를 사용하는 형태와 라벨을 사용하는 형태가 함께 사용되는 경우
  • 일반적으로 행은 인덱스를 사용하고, 열은 라벨을 사용한다.
$myarray = array(
	array(“dname”=> “컴퓨터학과”, “loc”=> “공학관”),
	array(“dname”=> “국문학과”, “loc”=> “어학관”)
);

배열 값의 활용

$dname = $myarray[0]["dname"]; // 배열의 값을 다른 변수에 복사하기
echo($myarray[1]["loc"]); // 배열의 값을 출력하기

 

 

foreach 구문

  • 연관배열은 index 번호가 없기 때문에, 일반적인 for문으로의 탐색이 불가능하다.
  • foreach 구문은 배열을 스캔 하면서 배열의 라벨과 값을 각각 다른 변수에 복사하는 기능을 갖는다.
foreach ($배열 as $key => $value) {
}
  • 주어진 배열의 행을 스캔하면서 라벨 의 이름은 $key 변수에 복사한다.
  • 배열의 값은 $value 변수에 복사한다.

 

예시

<?
    header("Content-Type: test/html; charset=UTF-8");
    
    $array = array('name' => '김지선', 'birthday' => '1115');
    
    echo("<h1>".$array['name']."</h1>");
    echo("<h1>".$array['birthday']."</h1>");
    
    foreach($array as $key => $value) {
    	echo("<h1>".$key.'='.$value."</h1>");
    }
?>

 

반응형

문자열을 배열로 변환

array explode (string $delimiter, string $string)
  • delimiter 문자열을 경계로 나누어진 string의 부분 문자열로 이루어지는 배열을 반환한다.

  • $delimiter : 경계 문자열 (구분자)
  • $string : 입력 문자열 (원본 문자열)

  • $delimiter가 빈 문자열인 경우 : FALSE
  • $string에 $delimiter가 포함되지 않은 경우 : $string만 들어 있는 한 칸으로 구성된 배열

 

예시 - 구분자를 사용하여 문자열을 배열로 변환

<?
    header("Content-Type: test/html; charset=UTF-8");
    
    $str = 'PHP,JAVA,PYTHON';
    
    // 콤마를 기준으로 문자열을 자르고, 배열로 리턴
    $data = explode(',', $str);
    
    for($i=0; $i<count($data); $i++) {
    	echo("<h1>".$data[$i]."</h1>");
    }
?>

 

 

배열 일괄 출력

mixed print_r ( mixed $expression, [ bool $return='false' ] )
  • 변수나 배열에 대한 정보를 사람이 읽을 수 있는 방법으로 표시한다.

  • $expression : 출력할 내용
  • $return : false일 경우 출력.

  • $return이 true로 지정된 경우 출력할 내용을 리턴한다.

 

배열인지 확인하는 함수

bool is_array ( mixed $var )

배열일 경우 true를 리턴한다.

 

 

배열 병합

array array_merge ( array $arr1 [, array $arr2 … ] )

 

 

배열 정렬

bool sort( array &$array )
bool rsort( array &$array )
  • 파라미터로 전달된 배열의 내용을 정렬한다.
  • sort() 함수 : 오름차순
  • rsort() 함수 : 내림차순

  • $array : 정렬 대상.
    • 이 함수는 파라미터를 전달하지 않고, 파라미터에 대한 참조를 전달하기 때문에 이 함수를 호출할 때 전달된 파라미터 원본 자체가 정렬된다.
  • 성공할 경우 TRUE, 실패할 경우 FALSE

 

 

반응형

'프로그래밍 언어 > PHP' 카테고리의 다른 글

[PHP] 문자열 함수  (0) 2020.12.27
[PHP] PHP 설치하기  (0) 2020.12.23
반응형

문자열 길이 반환

int mb_strlen ( string $string [, string $encoding='utf-8' ] )
  • 문자수의 길이를 반환한다. (글자수)
  • $string : 길이를 검사할 문자열
  • $encoding : 인코딩 형식 (“UTF-8” or “EUC-KR”)
  • 생략시 header() 함수에서 설정한 인코딩 형식을 따름
  • 문자열이 비어 있다면 0이 리턴 된다.

특정 문자열 위치 검색

int mb_strpos ( string $string , string $find [, int $start=0 [, string $encoding='utf-8' ]] )
  • $string에서 $find가 처음 나타나는 위치를 반환한다.
  • $string : 탐색할 문자열 원본
  • $find : 찾을 문자열
  • start : string에서 몇 번째 문자부터 탐색을 시작할 지 결정한다.
  • 반환하는 위치는 0부터 센다. 지정하지 않을 경우 0부터 시작한다.
  • $encoding : 인코딩 형식 (“UTF-8” or “EUC-KR”)
  • 생략시 header() 함수에서 설정한 인코딩 형식을 따름
  • 위치를 정수로 반환한다.
  • $find를 발견하지 못하면 mb_strpos()는 boolean값인 FALSE를 반환한다.

문자열 위치가 0인 경우, 찾지 못한 경우

$string = "PHP 프로그래밍"; $p1 = mb_strpos($string, "PHP"); $p2 = mb_strpos($string, "JSP"); if ($p2 === FALSE) { echo("문자열을 찾지 못했습니다."); }
  • PHP는 0과 FALSE를 동일하게 처리하기 때문에, 리턴값이 숫자 0인 경우와 FALSE가 서로 다른 의미인 경우, “==“ 연산자로 비교하면 원치 않는 결과를 얻을 수 있다.
  • if문의 조건식에서 “=”을 3개로 사용하면 데이터 형까지 동일해야만 조건을 참으로 인식하므로, 0과 FALSE를 구별할 수 있다.

대문자 변환

string mb_strtoupper ( string $string [, string $encoding='utf-8' ] )
  • string의 모든 알파벳 문자를 대문자로 바꾼 문자열을 반환한다.
  • $string : 대문자로 변환할 원본 문자열
  • $encoding : 인코딩 형식 (“UTF-8” or “EUC-KR”)
  • 생략시 header() 함수에서 설정한 인코딩 형식을 따름

소문자 변환

string mb_strtolower ( string $string [, string $encoding='utf-8' ] )
  • string의 모든 알파벳 문자를 소문자로 바꾼 문자열을 반환한다.
  • $string : 소문자로 변환할 원본 문자열
  • $encoding : 인코딩 형식 (“UTF-8” or “EUC-KR”)
  • 생략시 header() 함수에서 설정한 인코딩 형식을 따름

문자열 자르기

string mb_substr ( string $string, int $start [, int $length [, string $encoding='utf-8' ]] )
  • $string의 $start 위치부터 $length 글자 수 만큼 잘라낸 내용을 리턴한다.
  • $string : 원본 문자열
  • $start : 문자열을 자르기 위한 시작 위치. 0부터 시작된다.
  • $length : 잘라낼 문자열의 길이. 지정되지 않을 경우 끝까지 자른다.
  • $encoding : 멀티바이트인 경우 “UTF-8”로 사용.
  • 잘라낸 내용을 리턴해준다.
  • mb_substr(“PHP 웹 프로그래밍”, 4, 1) 로 지정할 경우 4번째 위치부터 한 글자를 잘라내기 때문에 “웹”이 리턴된다.
반응형

출력형식

여러 변수의 결합

int printf ( string $format, mixed $args [, mixed $args… ] )
  • 두 번째 파라미터부터 마지막 파라미터까지의 변수들을 $format의 형식에 맞추어 출력한다.
  • $format : 치환자를 포함한 문자열 형식
  • %d - 인수를 정수로 취급하고, 10진수로 표현합니다.
  • %f - 인수를 소수로 취급하고, 부동소수점 수로 표현합니다.
  • %s - 인수를 문자열로 취급하고 표현합니다.
  • $args : $format에 포함된 치환자에 대입될 변수값.
  • 개수 제한 없이 전달할 수 있다.
  • 출력된 글자 수가 리턴된다.
string sprintf ( string $format, mixed $args [, mixed $args… ] )
  • printf()는 자신이 직접 결합된 결과를 출력하지만, sprintf()는 결합된 결과를 리턴 한다는 차이가 있다.

앞뒤 공백제거

string trim ( string $string )
  • 파라미터로 전달된 문자열의 앞,뒤 공백을 삭제하고 리턴한다

문자열 치환

string str_replace ( string $search, string $replace, string $subject )
  • subject에서 발견한 모든 search를 주어진 replace 값으로 치환한 문자열을 반환한다.
  • $search : 변경될 대상
  • $replace : $search를 치환할 값
  • $subject : $search를 포함하고 있는 원본 문자열
  • 처리 결과 문자열을 리턴한다.

HTML 특수문자 처리

string htmlspecialchars ( string $string )
  • HTML에서 사용되는 특수문자를 변환한다.
  • $string : 변환될 내용
  • 리턴값
    • 변환된 내용
    • 변환되는 특수문자들
    • '&'(앰퍼샌드) : '&amp;'
    • '"'(겹따옴표) : '&quot;'가 됩니다.
    • '<'(미만) : '&lt;'
    • '>'(이상) : '&gt;'

줄바꿈

string nl2br ( string $string )
  • 모든 줄바꿈 앞에 '<br />'이나 '<br>'를 삽입한 string을 반환한다.
  • <textarea> 태그 영역 안에서 사용자가 입력한 줄 바꿈 문자는 “\n”으로 저장된다. 
  • 이 상태에서 화면에 출력하면, 줄 바꿈 문자를 인식하지 못하는 HTML의 특성 때문에 정상적인 결과 확인이 어렵다.
  • 이 함수를 적용한 결과를 화면에 출력할 경우 사용자가 입력한 줄 바꿈 문자를 정상적으로 화면에 출력할 수 있다.
  • 파라미터
    • $string : 변환될 원본 문자열

주민번호에서 생년월일, 성별 출력

<? header("Content-Type: test/html; charset=UTF-8"); $jumin = " 9611151000123 "; $jumin = trim($jumin); $yy = mb_substr($jumin, 0, 2); $mm = mb_substr($jumin, 2, 2); $dd = mb_substr($jumin, 4, 2); $gencode = mb_substr($jumin, 6, 1); $gender = "남자"; if($gencode=='1' || $gencode=='2') { $yy = sprintf('19%s', $yy); } else { $yy = sprintf('20%s', $yy); } if($gencode=='2' || $gencode=='4') { $gender = "여자"; } printf("<h1>%s년%s월%s일-%s</h1>", $yy, $mm, $dd, $gender); ?>

반응형

'프로그래밍 언어 > PHP' 카테고리의 다른 글

[PHP] 배열 함수  (0) 2020.12.27
[PHP] PHP 설치하기  (0) 2020.12.23
반응형

PHP란?

PHP(PHP:Hypertext Preprocessor)는 서버 측 스크립트 언어이다.
Apache + PHP + MySQL을 연동해서 사용한다.

PHP의 특징 및 장점

  • 웹에 최적화된 언어이다.
  • 데이터베이스 연동이 편리하다.
  • HTML 코드에 PHP 코드가 보이지 않아서 보안성이 좋다.
  • 거의 모든 운영체제에 구현이 가능하다.
  • 인터프리터 언어이다.
  • 속도가 빠르다.
  • 이미지를 동적으로 생성 가능하다.
  • 코드 작성이 쉽고 문법이 간단하다.

 

PHP 설치

PHPApache를 통해서 정보 전송 가능, MySQL의 실질적인 정보를 저장하기 때문에 함께 사용한다.
3개를 각각 따로 설치할 수도 있지만 한 번에 설치해주는 방법이 있다.
WAPM(Window - Apache, PHP, MySQL)
XAMPP(X-크로스 플랫폼, Apache, MySQL, PHP, Perl)

XAMPP 설치하기

https://www.apachefriends.org/index.html

다운로드 클릭

 

More Downloads 클릭

 

운영체제에 맞는 폴더 클릭
버전 선택
portable(수동설치) 중 제일 사이즈가 큰 파일 설치

 



1. 로컬 디스크에 새로운 폴더를 생성한다. (C:\php)
2. 새로 만든 폴더에 다운로드한 xampp 파일을 압축 해제한다.


3. 소스코드를 저장할 폴더 생성 (C:\php\source)


4. setup_xampp.bat 파일 실행

실행 확인 했으면 창 닫기



5. xampp-control.exe 실행

exe 파일 더블클릭해서 실행
경로 수정

 

short_open_tag를 Off에서 On으로 수정
timezone을 Asia/Seoul로 수정

 

반응형

6. Apache와 MySQL 실행

Start를 클릭해서 실행시키기


7. C:\php\source 경로에 phpinfo.php 파일 생성


8. http://localhost/phpinfo.php 실행했을 때 아래와 같은 화면이 나오면 끝




C:\php\source 경로에 hello.php 파일 생성

hello.php
실행 결과

 

환경변수 설정하기

내 PC 우클릭 > 속성 > 고급 시스템 설정 > 환경변수 클릭

시스템 변수에서 Path 편집 > 새로만들기 > 경로 입력 > 확인
경로는 다운받은 php.exe 파일이 있는 경로로 입력해준다.


cmd 창 열어서 확인하기

php -version 입력했을때 버전정보가 잘 나오면 끝

반응형

'프로그래밍 언어 > PHP' 카테고리의 다른 글

[PHP] 배열 함수  (0) 2020.12.27
[PHP] 문자열 함수  (0) 2020.12.27

+ Recent posts