Categories
PHP

PHP에서 자주 쓰이는 문자열 함수: strlen, substr, strpos, strrpos

PHP 에서 자주 쓰이는 문자열 함수에 대해 알아보자.

1. 문자열의 길이 구하기

문자열의 길이를 구할 때는 strlen() 함수를 쓴다.

$len = strlen("www.xtmci.com");
echo $len;    // 13 을 출력한다.

2. 문자열의 일부를 추출하기

substr() 함수는 주어진 문자열의 일부를 리턴한다.

$str = "0123456789";
echo substr($str, 0, 4);    // 0123 을 출력한다.
echo substr($str, 4);    // 456789 를 출력한다.
echo substr($str, -4);    // 6789 를 출력한다.
echo substr($str, -4, 2);    // 67 을 출력한다.

3. 문자열에서 부문자열 찾기

strpos() 함수는 문자열에서 부문자열 (substring) 이 처음 나타나는 위치를 리턴한다. 검색에 실패하면 false 를 리턴한다.

$str = "www.xtmci.xtmci.com";
echo strpos($str, "www");    // 0 을 출력한다.
echo strpos($str, "xtmci");    // 4 를 출력한다.
echo strpos($str, "com");    // 16 을 출력한다.

strrpos() 함수는 문자열에서 부문자열이 마지막으로 나타나는 위치를 리턴한다. 검색에 실패하면 false 를 리턴한다.

$str = "www.xtmci.xtmci.com";
echo strrpos($str, "www");    // 0 을 출력한다.
echo strrpos($str, "xtmci");    // 10 을 출력한다.
echo strrpos($str, "com");    // 16 을 출력한다.

Categories
PHP

PHP에서 자주 쓰이는 파일시스템 함수: fopen, fclose, fread, fwrite

PHP 에서 자주 쓰이는 파일 시스템 함수에 대해 알아보자.

1. fopen() 함수

fopen() 함수는 파일을 열고 파일 포인터를 리턴한다.

$fp = fopen(“xtmci.txt”, “r”);

두번째 인자는 파일을 여는 모드 (mode) 이다. “r” 는 읽기 전용 모드이다.

쓰기 전용 모드는 “w” 모드와 “a” 모드가 있다. “w” 모드에서는 파일의 처음부터 쓴다. “a” 모드에서는 파일의 끝에서 쓰기 시작한다.

2. fclose() 함수

fclose() 함수는 파일을 닫는다.

fclose($fp);

열린 파일의 포인터를 인자로 받는다. 파일 닫기에 성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.

3. fread() 함수

fread() 함수는 지정한 바이트 수만큼 파일을 읽는다. 리턴값은 문자열이다. 실패 시에는 false 를 리턴한다.

$string = fread($fp, 80);    // 80 바이트를 읽는다.

fread() 함수로 파일 전체를 읽어보자.

$filename = "xtmci.txt";
$fp = fopen($filename, "r");    // 파일을 연다.
$long_string = fread($fp, filesize($filename));    // 파일 전체의 크기 만큼 읽는다.
fclose($fp);    // 파일을 닫는다.
echo $long_string;    // 읽은 내용을 출력한다.

filesize() 함수는 파일의 크기를 바이트 단위로 알려준다.

4. fwrite() 함수

fwrite() 함수는 지정한 문자열의 내용을 파일에 쓴다. 성공하면 파일에 쓴 바이트 수를 리턴한다. 실패하면 false 를 리턴한다.

$fp = fopen("test.txt", "w");    // 파일을 쓰기 모드로 연다.
$num = fwrite($fp, "xtmci.com");    // 파일에 문자열을 쓴다.
fclose($fp);    // 파일을 닫는다.
echo $num;    // 9 바이트를 썼으므로 9 를 출력한다.

Categories
JavaScript

자바스크립트에서 자주 쓰이는 수학 관련 메소드

자바스크립트에서 수학과 관련된 메소드에 대해 알아보자.

1. Math.abs() 메소드

Math.abs() 메소드는 주어진 수의 절대값을 리턴한다.

document.write(Math.abs(-5));    // 5 를 출력한다.
document.write(Math.abs(5));    // 5 를 출력한다.
document.write(Math.abs(0));    // 0 을 출력한다.

2. Math.round() 메소드

Math.round() 메소드는 주어진 수를 반올림하여 리턴한다.

document.write(Math.round(2.49));    // 2 를 출력한다.
document.write(Math.round(2.51));    // 3 을 출력한다.
document.write(Math.round(2.5));    // 3 을 출력한다.

주어진 수가 음수인 경우를 살펴보자.

document.write(Math.round(-2.49));    // -2 를 출력한다.
document.write(Math.round(-2.51));    // -3 을 출력한다.
document.write(Math.round(-2.5));    // -2 를 출력한다.

3. Math.ceil() 메소드

Math.ceil() 메소드는 주어진 수를 올림하여 리턴한다.

document.write(Math.ceil(2.2));    // 3 을 출력한다.
document.write(Math.ceil(2.7));    // 3 을 출력한다.
document.write(Math.ceil(-2.2));    // -2 를 출력한다.
document.write(Math.ceil(-2.7));    // -2 를 출력한다.

4. Math.floor() 메소드

Math.floor() 메소드는 주어진 수를 버림하여 리턴한다.

document.write(Math.floor(2.2));    // 2 를 출력한다.
document.write(Math.floor(2.7));    // 2 를 출력한다.
document.write(Math.floor(-2.2));    // -3 을 출력한다.
document.write(Math.floor(-2.7));    // -3 을 출력한다.

5. Math.random() 메소드

Math.random() 메소드는 0 이상이고 1 미만인 무작위 수를 리턴한다.

document.write(Math.random());    // 0.49081443801638636 를 출력한다. 0 과 1 사이에 있는 무작위 수이다.

Math.random() 메소드를 이용해서 0 과 99 사이의 정수를 출력해 보자.

var randomInt = Math.floor(Math.random() * 100);
document.write(randomInt);    // 57, 33, 25, 71 등을 출력한다. 0 과 99 사이의 무작위 수이다.

Categories
PHP

PHP에서 텍스트 파일을 한 줄씩 (line by line) 읽기

PHP 에서 텍스트 파일을 라인 (line) 단위로 읽는 방법을 알아보자.

1. fgets() 함수

fgets() 함수는 파일 포인터로부터 하나의 라인을 읽는다. 읽을 데이터가 없을 경우에는 false 를 리턴한다.

텍스트 파일을 읽기 전용 모드로 연다.

$fp = fopen(“xtmci.txt”, “r”);

while 루프와 fgets() 함수로 파일을 읽어보자.

while (($line = fgets($fp)) !== false) {    // 리턴값이 false 가 아닐 경우 계속 읽는다.
  echo $line;    // 읽은 라인을 출력한다. $line 변수에는 개행 문자가 포함되어 있다.
}
  

파일을 닫는다.

fclose($fp);

읽어들인 라인에서 개행 문자를 제거할 때는 rtrim() 함수를 쓴다.

$line = rtrim($line);

2. file() 함수

file() 함수는 파일 전체를 읽어 라인 단위로 배열에 저장한다. 읽기에 실패할 경우에는 false 를 리턴한다.

텍스트 파일을 읽어 배열에 저장해 보자.

$arr_lines = file(“xtmci.txt”);

배열의 각 요소는 텍스트 파일의 각 라인에 대응한다. 읽어들인 개행 문자는 보존된다.

foreach 루프로 배열의 각 요소를 출력한다.

foreach ($arr_lines as $line) {
  echo $line;
}

file() 함수를 쓸 경우에는 별도로 파일을 열고 닫는 작업이 필요없다. 함수 내부에서 자동으로 수행되기 때문이다.