티스토리 뷰

<!-- 함수 -->


<?php


//간단한 함수

function sum($a, $b){

return $a+ $b;

}

$result = sum(3,4);

echo $result . "<br>";

$result = sum(5,7);

echo $result ."<br/>";


//값에 의한 전달 

function swap($a, $b){

$c = $a;

$a = $b;

$b = $c;

}

$num1 = 5;

$num2 = 6;

swap($num1, $num2);

echo "$num1, $num2<br>";


//참조에 의한 인자 전달 : 변수 그자체를 전달 

function swap2(&$a, &$b){

$c = $a;

$a = $b;

$b = $c;

}

$num1 = 5;

$num2 = 6;

swap2($num1, $num2);

echo "$num1, $num2<br/>";


//default 인자값

function aaa_net ($url = "https://aaa.net"){

return "홈페이지 : $url<br>";

}


echo aaa_net ();

echo aaa_net ("https://bbb.net");


//배열을 이용해 복수의 값 반환하기

function return_array(){

return array(0,1,2);

}

$array = return_array();

echo "$array[0],$array[1],$array[2]<br/>";


//참조에 의한 반환 

function &func(){

static $static = 0;

$static++;

return $static;

}

$var = &func();

echo $var;

func();

func();

echo $var;

$var = 0;

func();

echo $var;


?>


<!-- 배열 -->


<?php


$a [0] = "abc";

$a [1] = "def";

$b ["foo"] = 13;


// array()함수의 사용 : key=value 구조를 사용할 수 있다.

$arr = array (

"name" => "AAA",

7 => "BBB" 

);

echo $arr["name"];

echo "<br>";

echo $arr [7];

echo "<br>";


//키를 등록하지 않고 값만 부여 : 인덱스를 통하여 배열에 접근 가능(속도 차이가 없다.)

$arr = array (

"CCC",

"DDD" 

);

echo $arr [0];

echo "<br>";

echo $arr [1];

echo "<br>";


//혼합형 : 단, 키를 지정하지 않은 부분에 대해서는 인덱스가 '0'부터 입력 순서대로 지정됨

$arr = array (

"name" => "EE",

"FFF"

); 

echo $arr["name"];

echo "<br>";

echo $arr [0];

echo "<br>";


/*

혼합 2 : 숫자를 키로 하는 원소가 있으면 그 후에 인덱스를 설정하지 않은 모든 원소는 그 번호에 이어서 순서대로 인덱스가 설정된다. 

*/

$arr = array (

"name" => "GGG",

5 => "HHH",

"III"

);

echo $arr[5];

echo "<br>";

echo $arr [6];

echo "<br>";


// $arr[키] = 값; 

$arr2['name'] = 'brown';

$arr2[] = 15;


echo $arr2['name'];

echo "<br>";

echo $arr2[0];


//배열의 제거

$arr = array (

"name" => "JJJ",

"age" => "22",

'sex' => 'male');

echo "<pre>";


//배열의 한 원소 제거

unset($arr['sex']);

print_r($arr); // print_r($array) : 배열의 요소를 형식에 맞게 출력해주는 함수


//배열 전체 제거

unset($arr);

print_r($arr); //undefine


echo "</pre>";


//배열의 연산

//$a + $b : 합집합

//$a == $b : 같은 원소를 가지면 참

//$a === $b : 순서까지 동일하면 참

//$a != $b :원소가 다르면 참

//$a <> $b : 원소가 다르면 참

//$a !=== $b : 원소와 그 순서가 동일하지 않으면 참 


//원소의 키가 다르므로 원소가 다른 경우  

$a = array(1,2);

$b = array(2,1);

if ($a == $b) echo '$a와 $b는 같은 원소를 갖는다.<br>';

else echo '$a와 $b는 다른 원소를 갖는다.<br>';


//순서가 다르지만 키와 값이 모두 같아서 같은 원소를 갖는 경우

$a = array(1,2);

$b = array(1 =>2, 0 =>1);


if ($a ==$b) echo '$a와 $b는 같은 원소를 갖는다.<br>';

else echo '$a와 $b는 다른 원소를 갖는다.<br>';


//배열의 정렬 

/* 

  sort :  값을 기준으로 정렬, 

rsort : 값을 기준으로 내림차순 정렬하여 순서대로 인덱스 배열을 구성 

asort : 값을 기준으로 정렬하되 키와 값의 관게를 유지

arsort : 값을 기준으로 내림차순 정렬하되 키와 값의 관계를 유지

*/

//sort 

$fruits = array('a'=>"lemon",'b'=>'orange','banana','apple');

sort($fruits);


echo "<pre>";

print_r($fruits);

echo "</pre>";


//asort

$fruits = array('a'=>"lemon",'b'=>'orange','banana','apple');

asort($fruits);


echo "<pre>";

print_r($fruits);

echo "</pre>";


?>


<!-- 객체 -->


<?php


class IronMan { // 아이언맨 클래스 정의

public $Name;

public $Age;

public $Height;

public $Weight;

// 일반적인 생성자

/*

 * function __construct($hname){

 *

 * $this->Name = $hname;

 * $this->Age = 1;

 * }

*/

/*

 * 생성자 2 : 생성자의 함수 오버로딩(Function Overloading)을 지원하지 않기 떄문에 여러개의 생성자를 사용할 수 없다.

 * 그렇기 떄문에 파라미터 초기화를 사용하여 여러개의 생성자가 존재하는 것과 같은 효과를 얻을 수 있다.

 */

function __construct($pName, $pAge = 1, $pHeight = 50, $pWeight = 3.5) {

$this->Name = $pName;

$this->Age = 1;

$this->Height = $pHeight;

$this->Weight = $pWeight;

}

public function Eat($foods) {

echo "냠냠~쩝쩝~" . $foods . "<br>";

}

public function Walk($destination) {

echo "또각또각~" . $destination . "까지 걸어갑니다.<br>";

}

public function Talk($words) {

echo $words . "<br>";

}

// 소멸자

function __destruct() { // 소멸자는 생성자와 달리 파라미터를 가지지 못한다.

$this->Talk ( "창을 닫는다" );

}

}


// 인스턴스 생성 및 속성 사용하기


// include 'ironMan.php'; //정의한 ironMan class

$sungil = new IronMan ( '노성일', 5 ); // 5살짜리 노성일 생성

$younghun = new IronMan ( '장영훈', 1, 50, 3.5 );

$younghun = null; // 객체 제거


$sungil->Talk ( $sungil->Age );

$sungil->Walk ( '신림' );

$sungil->Weight = 22; // 22kg


//클래스 상속하기

class NylonMan extends IronMan{//아이언맨 클래스를 상속받는 나일론맨 클래스를 정의

function 걷기(){

echo "아장아장~";

}

}

$myungse = new NylonMan("서명세");

$myungse->걷기();

$myungse->Walk("광주");


?>

'공부 > PHP' 카테고리의 다른 글

PHP 기초 - mode,문장,변수,연산자  (0) 2017.01.19
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함