PHP에서 객체를 문자열로 변환
-
__toString()
Magic 메서드를 사용하여 PHP에서 객체를 문자열로 변환 -
PHP에서
serialize()
함수를 사용하여 객체를 문자열로 변환 -
print_r()
함수를 사용하여 PHP에서 객체를 Strig로 변환
이 튜토리얼에서는 PHP에서 객체를 문자열로 변환하는 다양한 방법을 소개합니다.
__toString()
Magic 메서드를 사용하여 PHP에서 객체를 문자열로 변환
__toString()
PHP 매직 메소드를 사용하여 PHP에서 객체를 문자열로 변환할 수 있습니다. PHP에는 __
로 시작하는 메소드가 있으며 PHP는 이를 예약합니다. 객체에 대한 특정 작업을 수행할 때 이러한 메서드는 기본 동작을 재정의합니다. 일부 매직 함수는 __construct()
, __destruct()
, __isset()
, __set()
, __get()
등입니다. __toString()
메서드를 사용하여 에뮬레이트할 수 있습니다. 문자열에 대한 개체. 그런 다음 문자열처럼 작동하는 객체의 동작을 연구할 수 있습니다. PHP 8.0 이전에는 __toString()
메서드가 항상 문자열 값을 반환해야 했습니다. 그렇지 않으면 오류가 발생합니다. 그러나 PHP 8.0은 가능한 경우 값을 문자열로 강제 변환합니다.
예를 들어 Student
클래스를 만들고 $name
변수를 속성으로 작성하고 이름을 지정합니다. 그런 다음 __toString()
함수를 작성하고 $this
키워드를 사용하여 $name
변수를 반환합니다. 클래스 외부에서 $st
라는 Student
클래스의 개체를 만듭니다. 이제 echo
기능을 사용하여 $st
개체를 인쇄합니다.
출력 섹션에서 이름이 표시되는 것을 볼 수 있습니다. 따라서 객체가 문자열로 변환되었음을 증명합니다. echo
함수는 문자열 함수이며 우리는 그것을 사용하여 문자열을 출력했습니다. 이것이 마법 메서드 __toString()
을 사용하여 객체를 문자열로 변환하는 방법입니다.
예제 코드:
<?php
class Student {
protected $name = 'Jadon';
public function __toString() {
return $this->name;
}
}
$st = new Student;
echo $st;
?>
출력:
Jadon
PHP에서 serialize()
함수를 사용하여 객체를 문자열로 변환
PHP의 serialize()
함수는 주어진 값을 바이트 스트림 문자열의 표현으로 변환합니다. 세션이나 데이터베이스에 데이터를 저장하고 싶을 때 이 함수를 사용할 수 있습니다. 객체는 serialize()
함수를 사용하여 문자열로 변환할 수 있습니다. 함수는 비트 시퀀스를 반환합니다. 네트워크를 통해 비트를 전송해야 할 때 이 기능이 사용됩니다.
예를 들어 첫 번째 메서드에서와 동일한 클래스 및 멤버 변수를 만듭니다. 그런 다음 show()
함수를 만듭니다. 함수 내에서 echo
기능을 사용하여 $this
키워드를 사용하여 $name
변수를 인쇄합니다. 함수 외부에서 Student
클래스의 $st
개체를 만듭니다. $st
객체로 show()
함수를 호출합니다. 그런 다음 $st
객체에 serialize()
함수를 사용하고 echo
함수로 출력합니다.
아래 예제는 비트 시퀀스의 문자열을 출력합니다. 따라서 serialize()
함수를 사용하여 PHP 객체를 문자열로 변환할 수 있습니다.
예제 코드:
<?php
class Student {
protected $name = 'Jadon';
public function show() {
echo $this->name."<br>";
}
}
$st = new Student;
$st->show();
$sr = serialize($st);
echo $sr;
?>
출력:
Jadon
O:7:"Student":1:{s:7:"*name";s:5:"Jadon";}
print_r()
함수를 사용하여 PHP에서 객체를 Strig로 변환
또한 print_r()
함수를 사용하여 PHP에서 객체를 문자열로 변환할 수 있습니다. 이 함수는 인쇄할 값으로 첫 번째 매개변수를 사용하고 부울 값인 반환 매개변수로 두 번째 매개변수를 사용합니다. 객체를 첫 번째 매개변수로 제공하고 true
부울 값을 두 번째 매개변수로 제공하여 문자열을 반환할 수 있습니다. 반환 매개변수는 선택 사항입니다. print_r()
함수는 두 번째 매개변수가 제공되지 않은 경우 제공된 변수의 값을 인쇄합니다.
예를 들어 $name
과 $age
라는 두 개의 멤버 변수가 있는 Student
클래스를 만듭니다. $name
과 $age
를 매개변수로 사용하여 생성자를 만들고 변수를 설정합니다. 클래스 외부에서 $st
개체를 만들고 jadon
및 21
값을 생성자에 대한 인수로 제공합니다. 그런 다음 다른 변수 $result
를 만들고 print_r()
함수를 할당합니다. 함수의 첫 번째 매개변수를 $st
로 설정하고 true
를 두 번째 매개변수로 설정합니다. 마지막으로 echo
기능을 사용하여 $result
를 출력합니다.
print_r()
함수의 반환 매개변수를 true
로 설정하면 함수가 문자열을 반환하고 $result
변수에 저장합니다. 따라서 echo
기능을 사용하여 문자열을 인쇄할 수 있습니다. 이런 식으로 print_r()
함수를 사용하여 PHP에서 객체를 문자열로 변환할 수 있습니다.
예제 코드:
class Student {
protected $name;
protected $age;
public function __construct($name, $age) {
$this->name =$name;
$this->age = $age;
}
}
$st = new Student("jadon", 21);
$result = print_r($st, true);
echo $result;
?>
출력:
Student Object ( [name:protected] => jadon [age:protected] => 21 )
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn