1.
<?php
   function my_reverse($param_array, $num) {
      for($i = 0;$i < $num;$i++)
         $temp_array[$num-$i-1] = $param_array[$i];
      $param_array = $temp_array;
   }

   $num_array = array(10, 20, 30, 40, 50);
   print "before = ";
   for($i = 0;$i < sizeof($num_array);$i++)
      print "$num_array[$i] ";
   my_reverse($num_array, sizeof($num_array));
   print "<br>after = ";
   for($i = 0;$i < sizeof($num_array);$i++)
      print "$num_array[$i] ";
?>

before = 10 20 30 40 50
after = 10 20 30 40 50



2.
<?php
   function my_reverse(&$param_array, &$num) {
      for($i = 0;$i < $num;$i++)
         $temp_array[$num-$i-1] = $param_array[$i];
      $param_array = $temp_array;
   }

   $num_array = array(10, 20, 30, 40, 50);
   print "before = ";
   for($i = 0;$i < sizeof($num_array);$i++)
      print "$num_array[$i] ";
   my_reverse($num_array, sizeof($num_array));
   print "<br>after = ";
   for($i = 0;$i < sizeof($num_array);$i++)
      print "$num_array[$i] ";
?>

before = 10 20 30 40 50
after = 50 40 30 20 10

'Programming > PHP' 카테고리의 다른 글

global 변수 , static 변수  (0) 2011.05.05
재귀호출  (0) 2011.05.05
연상배열  (3) 2011.05.05
배열  (0) 2011.05.05
if-else , 비교연산자 , 삼항연산자 , 반복문 , 함수  (1) 2011.04.19


* global 변수 : 함수 영역 밖에 있는 변수를 참조하는 경우

1.
<?php
   function counts() {
      global $i;
      $i = $i + 1;
   }
 
   $i = 0;
   while($i < 10) {
      counts();
      print $i . "<br>";
   }
?>

1
2
3
4
5
6
7
8
9
10



* static 변수 : 이전의 함수 호출시 가지고 있던 변수의 값 유지

2.
<?php
   function inc() {
      static $i = 1;
      print $i . "<br>";
      $i = $i + 1;
   }

   for($j = 1;$j <= 10;$j++)
      inc();
?>

1
2
3
4
5
6
7
8
9
10

'Programming > PHP' 카테고리의 다른 글

Call-by-value , Call-by-reference  (0) 2011.05.05
재귀호출  (0) 2011.05.05
연상배열  (3) 2011.05.05
배열  (0) 2011.05.05
if-else , 비교연산자 , 삼항연산자 , 반복문 , 함수  (1) 2011.04.19

1.
<?php
   function fibo($num) {
      if($num == 0 || $num == 1)
         return 1;
      return (fibo($num - 1) + fibo($num - 2));
   }
 
   print "피보나치수열 출력<br>";
   for($i = 1;$i <= 20;$i++)
      print fibo($i) . "<br>";
?>

피보나치수열 출력
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
10946

'Programming > PHP' 카테고리의 다른 글

Call-by-value , Call-by-reference  (0) 2011.05.05
global 변수 , static 변수  (0) 2011.05.05
연상배열  (3) 2011.05.05
배열  (0) 2011.05.05
if-else , 비교연산자 , 삼항연산자 , 반복문 , 함수  (1) 2011.04.19

* 숫자를 사용하지 않고 문자를 키로 사용하는 배열



* 배열의 항목을 가져올때


* 배열에 항목을 추가할때



* 배열에서 항목을 삭제할때




1.
<?php
   function print_fr($arr_var) {
      foreach($arr_var as $arr_item) {
         if(is_array($arr_item))
            print_fr($arr_item);
         else
            print "Color = " . $arr_item . "<br>";
      }
   }
   function print_fruit($arr_var) {
      foreach($arr_var as $arr_item => $arr_list) {
         print "FRUIT : " . $arr_item . "<br>";
         if(is_array($arr_list))
            print_fr($arr_list);
         else
            print "Color = " . $arr_list . "<br>";
         print "============================<br>";
      }
   }

   $fruit = array(

     "Apple"  => "Red",
     "Pear"  => array("Brown", "Yellow"),
     "Peach"  => "Pink",
     "Tomato" => array("Red", "Green"),
     "Banana" => "Yellow" );

   print "**** BEFORE ****<br>";
   print_fruit($fruit);
   print "<br><br>";
   print "**** AFTER ****<br>";
   unset($fruit[Pear], $fruit[Banana]);
   print_fruit($fruit);
?>

**** BEFORE ****
FRUIT : Apple
Color = Red
============================
FRUIT : Pear
Color = Brown
Color = Yellow
============================
FRUIT : Peach
Color = Pink
============================
FRUIT : Tomato
Color = Red
Color = Green
============================
FRUIT : Banana
Color = Yellow
============================


**** AFTER ****
FRUIT : Apple
Color = Red
============================
FRUIT : Peach
Color = Pink
============================
FRUIT : Tomato
Color = Red
Color = Green
============================



* 연상배열의 정렬


 

   1) asort() : 연상 배열을 값을 기준으로 정렬
   2) arsort() : 연상 배열을 값을 기준으로 역순으로 정렬
   3) ksort() : 연상 배열을 키를 기준으로 정렬
   4) krsort() : 연상 배열을 키를 기준으로 역순으로 정렬

'Programming > PHP' 카테고리의 다른 글

global 변수 , static 변수  (0) 2011.05.05
재귀호출  (0) 2011.05.05
배열  (0) 2011.05.05
if-else , 비교연산자 , 삼항연산자 , 반복문 , 함수  (1) 2011.04.19
변수 , 연산자 , 수학적함수  (0) 2011.04.19

* array_diff(array array1, array array2, ...) : array1 에는 있으나 나머지 array 에는 없는 값을
                                                        반환


* foreach(array as $value) : array 에 의해 순환, 현재값이 $value 에 할당
                                     매 순환마다 다음값으로 전진

1.
<?php
   $arr1 = array("A", "B", "C", "D", "E", "F", "G");
   $arr2 = array("A", "B", "D", "E", "F", "G", "H");
   $result = array_diff($arr1, $arr2);
   foreach($result as $value) {
      print "$value<br>";
   }
?>

C



2.
<?php
   $twod_array = array( array(1, 2, 3),
         array(4, 5, 6),
         array(7, 8, 9) ); // 2차원배열
   $dim = 1;
   foreach($twod_array as $oned_array) {
      print "dimension(" . $dim++ . ") ";
      foreach($oned_array as $element)
         print $element . " ";
      print "<br>";
   }
   print "<br>";
   for($i = 0;$i < 3;$i++) {
      print "dimension(" . ($i+1) . ") ";
      for($j = 0;$j < 3;$j++)
         print $twod_array[$i][$j] . " ";
      print "<br>";
   }
?>

dimension(1) 1 2 3
dimension(2) 4 5 6
dimension(3) 7 8 9

dimension(1) 1 2 3
dimension(2) 4 5 6
dimension(3) 7 8 9



* sort(array array1) : array1 배열에 있는 원소들을 낮은것부터 높은순으로 배치하여 저장

* natsort(array array1) : 문자와 숫자가 섞여 있는 문자열을 정렬할때 사용

3.
<?php
   $array = array("sample1", "sample11", "sample21", "sample2", "sample12", "sample22", "sample3", "sample13", "sample23");
   sort($array);
   foreach($array as $tmp)
      print "$tmp<br>";
   print "<br><br>";
   natsort($array);
   foreach($array as $tmp)
      print "$tmp<br>";
?>

sample1
sample11
sample12
sample13
sample2
sample21
sample22
sample23
sample3


sample1
sample2
sample3
sample11
sample12
sample13
sample21
sample22
sample23



* 배열탐색 함수

 
   1) each() : 현재값을 리턴하고 배열 커서를 전진
   2) current() : 현재 내부 포인터에서 가리키고 있는 배열 원소의 값을 반환
   3) reset() : 배열의 내부 포인터를 첫 원소로 설정
   4) end() : 배열의 내부 포인터가 마지막 원소를 가리키게 설정
   5) next() : 배열의 내부 포인터를 전진
   6) prev() : 배열의 내부 포인터를 후진
   7) pos() : current() 와 같다

* 배열의 수 세기

   1) count() : 배열의 원소의 개수 세기
   2) sizeof() : count() 와 같다
   3) array_count_values() : 배열의 값의 개수 세기

'Programming > PHP' 카테고리의 다른 글

재귀호출  (0) 2011.05.05
연상배열  (3) 2011.05.05
if-else , 비교연산자 , 삼항연산자 , 반복문 , 함수  (1) 2011.04.19
변수 , 연산자 , 수학적함수  (0) 2011.04.19
Hello PHP , 주석  (0) 2011.04.19

1.
<?php
   $temp1 = 1;
   $temp2 = 2;
   if($temp == 1 && $temp2 == 1)
      print "condition of if() is true.";
   else if($temp1 == 1 && $temp2 == 2) {
      print "condition of elseif() is true.<br>";
      print "temp1 is 1 and temp2 is 2.";
   }
   else
      print "condition of else is true.";
?>

condition of elseif() is true.
temp1 is 1 and temp2 is 2.



2.
<?php
   $a = 123;
   $b = 456;
   if($a == $b)
      print "두 값이 같습니다.<br>";
   if($a != $b)
      print "두 값이 같지 않습니다.<br>";
   if($a < $b)
      print "$a 값이 $b 값보다 작습니다.<br>";
   if($a > $b)
      print "$a 값이 %b 값보다 큽니다.<br>";
   if($a <= $b)
      print "$a 값이 $b 값보다 작거나 같습니다.<br>";
   if($a >= $b)
      print "$a 값이 $b 값보다 크거나 같습니다.<br>";
   if($a === $b)
      print "$a 값이 $b 값과 동일합니다.<br>";
?>

두 값이 같지 않습니다.
123 값이 456 값보다 작습니다.
123 값이 456 값보다 작거나 같습니다.



* (condition) ? statement_true : statement_false

3.
<?php
   $num = 5;
   (($num % 2) == 1) ? print "홀수" : print "짝수";
   print "<br>";
   $num = 8;
   (($num % 2) == 1) ? print "홀수" : print "짝수";
?>

홀수
짝수



4.
<?php
 $i = 1;
 $sum = 0;
 while($i < 101) {
  $sum = $sum + $i;
  $i = $i + 1;
 }
 print "The sum from 1 to 100 is $sum";
?>

The sum from 1 to 100 is 5050



5.
<?php
 $i = 1;
 do {
  $j = $i * 5;
  $i = $i + 1;
  print $j . "<br>";
 } while($j < 100);
?>

5
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
85
90
95
100



6.
<?php
   function add($x, $y) {
      $sum = $x + $y;
      return $sum;
   }
   $result = add(3, 5);
   print $result;
?>

8



7.
<?php
   function my_log($arg, $base = 2) {
      $result = log($arg) / log($base);
      return $result;
   }
   print "log2(10) = " . my_log(10, 2) . "<br>";
   print "log10(100) = " . my_log(100, 10) . "<br>";
   print "log2(8) = " . my_log(8, 2) . "<br>";
   print "<br>";
   print "log2(8) = " . my_log(8) . "<br>";
?>

log2(10) = 3.32192809489
log10(100) = 2
log2(8) = 3

log2(8) = 3



8.
<?php
   function my_print() {
      $args = func_get_args();
      foreach($args as $arg)
     print "파라미터 : $arg<br>";
   }
   my_print("Apple", "Orange", "Pear", "Banana", "Cherry");
?>

파라미터 : Apple
파라미터 : Orange
파라미터 : Pear
파라미터 : Banana
파라미터 : Cherry


'Programming > PHP' 카테고리의 다른 글

재귀호출  (0) 2011.05.05
연상배열  (3) 2011.05.05
배열  (0) 2011.05.05
변수 , 연산자 , 수학적함수  (0) 2011.04.19
Hello PHP , 주석  (0) 2011.04.19

* 변수의 종류
   · 불리언 : Boolean
   · 정수형 : Integer
   · 실수형 : floating point numbers , real numbers
   · 문자형 : string
   · 배열 : array
   · 객체 : object

* PHP 에서는 변수에 할당되는 값에 따라 형이 결정된다.

* gettype() : 변수형을 문자열("integer", "double", ...)으로 반환
* settype() : 변수의 형을 주어진 형으로 캐스팅

* 변수형 확인함수 (ture or false 반환)
   · is_array()
   · is_double() , is_float() , is_real()
   · is_long , is_int() , is_integer()
   · is_string()
   · is_object()

1.
<?php
   $a = 56;
   print gettype($a);
   settype($a, "double");
   print gettype($a);
?>

integerdouble



2.
<?php
   $value = 99999999999997;
   print $value . "<br>";
   $value = $value + 1;   // $value = 99999999999998
   print $value . "<br>";
   $value = $value + 1;   // $value = 99999999999999
   print $value . "<br>";
   $value = $value + 1;   // $value = 100000000000000
   print $value . "<br>";
   $value = $value + 1;   // $value = 100000000000001
   print $value . "<br>";
   $value = $value + 1;   // $value = 100000000000002
   print $value . "<br>";
?>

1E+14
1E+14
1E+14
1E+14
1E+14
1E+14



3.
<?php
   $result = 9 + 5;
   print "9 + 5 = $result<br>";
   $result = 9 - 5;
   print "9 - 5 = $result<br>";
   $result = 9 * 5;
   print "9 * 5 = $result<br>";
   $result = 9 / 5;
   print "9 / 5 = $result<br>";
   $result = 9 % 5;
   print "9 % 5 = $result<br>";
?>

9 + 5 = 14
9 - 5 = 4
9 * 5 = 45
9 / 5 = 1.8
9 % 5 = 4



4.
<?php
   $temp = 1;
   if($temp++ == 1)
      print "temp in the 1st if() is 1";
   else
      print "temp in 1st if() is 2";
   $temp = 1;
   if(++$temp == 1)
      print ", and temp in 2nd if() is 1.";
   else
      print ", and temp in the 2nd if() is 2.";
?>

temp in the 1st if() is 1, and temp in the 2nd if() is 2.



* . : 두 문자열을 연결하는 연산자(Concatenation)

5.
<?
   $city = "in Chunchon ";
   $name1 = "Kangwon ";
   $name2 = "National University ";
   print $name1 . $name2 . $city;
?>

Kangwon National University in Chunchon



6.
<?php
   $result = sin(M_PI / 6);
   print "sin(30) = $result<br>";
   $result = cos(M_PI / 6);
   print "cos(30) = $result<br>";
   $result = tan(M_PI / 6);
   print "tan(30) = $result<br>";
   $result = asin(0.5);
   print "asin(0.5) = $result<br>";
   $result = acos(0.866025);
   print "acos(0.866025) = $result<br>";
   $result = atan(0.57735);
   print "atan(0.57735) = $result<br>";
?>

sin(30) = 0.5
cos(30) = 0.866025403784
tan(30) = 0.57735026919
asin(0.5) = 0.523598775598
acos(0.866025) = 0.523599583167
atan(0.57735) = 0.523598573706



7.
<?php
   $degree = 30;
   $radian = deg2rad($degree);
   $result = sin($radian);
   print "sin(30) = $result";
?>

sin(30) = 0.5



8.
<?php
   $result = log(10);
   print "log(10) = $result<br>";
   $result = log10(10);
   print "log10(10) = $result<br>";
   $result = sqrt(49);
   print "sqrt(49) = $result";
?>

log(10) = 2.30258509299
log10(10) = 1
sqrt(49) = 7


'Programming > PHP' 카테고리의 다른 글

재귀호출  (0) 2011.05.05
연상배열  (3) 2011.05.05
배열  (0) 2011.05.05
if-else , 비교연산자 , 삼항연산자 , 반복문 , 함수  (1) 2011.04.19
Hello PHP , 주석  (0) 2011.04.19

* 모든 PHP 프로그램은 <?PHP … ?> 혹은 <? … ?> 안에서 사용
* 모든 문장은 ; 로 끝

* print 함수의 경우 ()를 생략가능

1.
<?PHP
   print("Hello PHP");
   print "Hello PHP";
?>

Hello PHPHello PHP



* 한줄 주석 : // 혹은 #
* 여러줄 주석 : /* */

2.
<?PHP
   print "Hello PHP";  // 이 문장은 Hello PHP를 출력하는 문장입니다
   /* 이 문장은 Hello PHP를
      출력하는 문장입니다 */
?>

Hello PHP



3.
<?php
   /* 처음 주석의 시작입니다.
   // 두번째 주석입니다.
   // 세번째 주석입니다.
   // 네번째 주석입니다.
      처음 주석의 끝입니다. */
?>



4.
<?php
   /* 처음 주석의 시작입니다.
   /* 두번째 주석의 시작입니다
      두번째 주석의 끝입니다. */
      처음 주석의 끝입니다. */
?>

Error


'Programming > PHP' 카테고리의 다른 글

재귀호출  (0) 2011.05.05
연상배열  (3) 2011.05.05
배열  (0) 2011.05.05
if-else , 비교연산자 , 삼항연산자 , 반복문 , 함수  (1) 2011.04.19
변수 , 연산자 , 수학적함수  (0) 2011.04.19

+ Recent posts