배열 / 연관배열 / stdClass / + 변수 출력 함수

배열

  • 값만으로 구성된 형태로 저장하고 사용함

// 정의
$memder = array("kim","25"); 
$memder[2] = "180";

//아래와 같은 정의도 가능 (php5.4부터)
$memder = ["kim","25"];

// 사용 (인덱스사용)
echo $memder[0]; // kim
echo $memder[2]; // 180

연관배열

  • 키와 값으로 구성된 map 형태로 저장하고 사용함

// 정의
$memder = array("name"=>"kim","age"=>"25"); 
$memder["height"] = "180";

//아래와 같은 정의도 가능 (php5.4부터)
$memder = ["name"=>"kim","age"=>"25"];

// 사용 (키값사용)
echo $memder["name"]; // kim
echo $memder["height"]; // 180

stdClass

  • 익명의 빈 클래스

  • 객체형태의 배열로 이해하면 쉽다

// 테스트 데이터
$data = array(
  'fruits' => array(
    'Apple' => 'リンゴ',
    'Banana' => 'バナナ',
    'Cherry' => 'チェリー',
  ),
  'weekdays' => array(
    'Monday' => '月曜日',
    'Tuesday' => '火曜日',
    'Wednesday' => '水曜日',
    'Thursday' => '木曜日',
    'Friday' => '金曜日'
  )
);

// 0.테스트 데이터를 변환 (Array -> json)
$json = json_encode( $data );

// 1.테스트 데이터를 변환 (json -> stdClass)
// json_decode() 을 사용하면 기본적으로 반환값이 stdClass이다 
$stdData = json_decode($json);
print_r($stdData);
print_r($stdData->fruits->Apple); // リンゴ 가 출력된다. 객체이므로 ->연산자를 사용하여 접근

// 2.테스트 데이터를 변환 (json -> Array)
// json_decode() 의 두번째 인수에 true를 사용하면 array를 반환한다
$arrayData = json_decode($json,true);
print_r($arrayData);

변수 출력 함수

// 설명
echo() // HTML에서 문자열출력용이다
print() // echo와 비슷한 기능
print_r() // 출력값의 배열이나 객체내부의 속성을 확인가능함. NULL, Boolean등의 논리값도 출력불가
var_dump() // 출력값의 배열이나 객체내부의 속성을 확인가능함. NULL, Boolean등의 논리값도 출력가능. 출력값의 내부의 값의 자료형도 표시함

// 예제
<?php
   $hoArr = ["hello", "world","!!"];
   echo $hoArr; // Array
   print($hoArr); // Array
   print_r($hoArr); // Array ( [0] => hello [1] => world [2] => !! )
   var_dump($hoArr); // array(3) { [0]=> string(5) "hello" [1]=> string(5) "world" [2]=> string(2) "!!" }
?>

// 결론
var_dump가 가장 상세히 표기하므로 var_dump쓰는게 좋다


PHP 테스트 사이트

http://phptester.net/

참고

https://bsssss.tistory.com/1085

Feb 25, 2023 Views 104