>  기사  >  백엔드 개발  >  PHP 객체지향 - 내장된 표준 클래스와 일반 데이터 유형이 객체 유형으로 변환됨

PHP 객체지향 - 내장된 표준 클래스와 일반 데이터 유형이 객체 유형으로 변환됨

黄舟
黄舟원래의
2017-03-27 09:49:021505검색

내장 표준 클래스

 PHP에는 "기성 클래스"가 많이 있습니다 그 중 하나가 "내장 표준 클래스"입니다. . 이 클래스 "내부"에는 아무것도 없습니다.

class stdclass{  }
rrree

실행 결과 :

<?php$obj1 = new stdclass();
var_dump($obj1);class A{}$obj2 = new A();
var_dump($obj2);?>

일반 클래스와 별반 차이가 없음을 알 수 있습니다.

내장된 표준 클래스는

object(stdClass)[1]object(A)[2]

와 같은 일부 임시 단순 데이터를 저장하는 데 사용됩니다. 또한 유형 변환 중에 데이터를 저장하는 데에도 사용할 수 있습니다.

객체 유형 변환

기타 데이터 유형은 객체 유형으로 변환되며 결과는 내장 표준 클래스의 객체입니다. (표준클래스) .
구문은 다음과 같습니다.

$obj1->pp1 = 1;$obj2->port = &#39;3306&#39;;
  • 배열은 객체로 변환됩니다. 배열의 키 이름이 속성 이름으로 사용되고 값은 해당 물건의 가치.

    • 참고: 객체로 변환된 디지털 첨자 데이터 요소의 속성은 객체 구문을 통해 얻을 수 없으므로 변환을 권장하지 않습니다.

$obj = (object)其他类型数据;

실행 결과:

<?php
$config = array(    &#39;host&#39; => "localhost",    &#39;port&#39; => 3306,    &#39;user&#39; => "root",    &#39;pass&#39; => "123",    &#39;charset&#39; => "utf8",    &#39;dbname&#39; => "yeoman",
);
$obj1 = (object)$config;
var_dump($obj1);
echo  "<br />单独取出user:" . $obj1->user;?>

단, 배열에 첨자 요소가 있어서 객체로 변환하면 객체를 통해 얻을 수 없습니다. 통사론.

object(stdClass)[1]  public &#39;host&#39; => string &#39;localhost&#39; (length=9)  public &#39;port&#39; => int 3306
  public &#39;user&#39; => string &#39;root&#39; (length=4)  public &#39;pass&#39; => string &#39;123&#39; (length=3)  
  public &#39;charset&#39; => string &#39;utf8&#39; (length=4)  public &#39;dbname&#39; => string &#39;yeoman&#39; (length=6)


单独取出user:root

실행 결과:

<?php
$arr = array(&#39;pp1&#39; => 1, 5 => 12);
$obj2 = (object)$arr;
var_dump($obj2);
echo "<br />单独取出pp1:" . $obj2->pp1;//echo "<br />单独取出5:" . $obj2->5;//会报错!?>
  • null 개체로 변환됨: 빈 개체

$arr = array(&#39;pp1&#39; => 1, 5 => 12);
$obj2 = (object)
$arr;
var_dump($obj2);
echo "<br />单独取出pp1:" . $obj2->pp1;//echo "<br />单独取出5:" . $obj2->5;//会报错!?>
  • 다른 스칼라 데이터를 객체로 변환: 속성 이름은 "scalar"로 고정되고 값은 변수

  • $obj = (object)null;
실행 결과는 다음과 같습니다.

<?php$v1 = 1;       
$v2 = 2.2;
$v3 = "abc";
$v4 = true;
$objv1 = (object)
$v1;    //整型转为对象类型
$objv2 = (object)
$v2;    //浮点型转为对象类型
$objv3 = (object)
$v3;    //字符串型为对象类型
$objv4 = (object)
$v4;    //布尔转为对象类型
var_dump($objv1); echo "<br />";
var_dump($objv2); echo "<br />";
var_dump($objv3); echo "<br />";
var_dump($objv4); echo "<br />";

위 내용은 PHP 객체지향 - 내장된 표준 클래스와 일반 데이터 유형이 객체 유형으로 변환됨의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.