Updated July 4, 2023
Definition of PHP Object to String
PHP provides convenient methods for developers to convert PHP objects into strings. These methods include the _toString() function and the serialize() function. The _toString() function is commonly used to convert an object into a string representation. When called, the object itself defines how it should be converted into a string. On the other hand, the serialize() function converts an object into a string by returning a byte stream representation of the object.
Syntax
There is no exact syntax that is extensively used to convert PHP objects into String, but there are other ways to achieve it for those conversions; syntax exists and is used by embedding them within the code, which is represented as follows :
$var = some_name
$var = obj_1;
{
Call function with $var;
Use _toString() method;
}
How to Convert Object to String in PHP?
- In PHP 4.0 and earlier versions, it was relatively straightforward to convert an object to a string by accessing the object variable directly and converting it.
- However, starting from PHP 5 and above, no direct method exists to convert an object to a string. Instead, there are alternative approaches to achieve this indirectly.
- One commonly used approach is to utilize the magic function _toString().
- This method treats the object as an array and encodes it accordingly.
- It’s important to note that both the serialize() and unserialize() methods are compatible with PHP version 5.0 and above, and can be used in conjunction with the _toString() method.
- Another approach involves using JSON encoding.
- There are also specific errors and exceptions related to PHP object-to-string conversion that can be used to handle and manipulate objects and subsequent arrays.
Examples
Below are the examples.
Example #1
This program demonstrates the serialize() method, which returns the byte stream of the string representing the value as shown in the output.
Code:
<?php
class Nw_Ob {
public $nme = 'Henry_Joe';
public function __toString() {
return "person nme is: {$this->nme}\n";
}
}
$OBJ_1 = new Nw_Ob;
echo $OBJ_1;
echo serialize($OBJ_1);
?>
Output:
Example #2
This program demonstrates the conversion of an object to a string using values to be part of an entire array of the object, and it will return the entire set of strings as shown in the output. This functionality is more compatible with version 5 and above.
Code:
<?php
$vl_1 = (object) array('almond' => 2, 'nuts' => 3, 'peanut' => 4);
$re_2 = new ReflectionObject($vl_1);
echo $re_2->getName() .' {' . implode(', ', array_map(
function($p_0) use ($vl_1)
{
$p_0->setAccessible(true);
return $p_0->getName() .': '. $p_0->getValue($vl_1);
}, $re_2->getProperties())) .'}';
Output:
Example #3
This program demonstrates the exception and error that gets represented once it is being showcased and the object is represented with string as shown in the output.
Code:
<?php
class M_Clss
{
public $nm;
public function __construct($nm)
{
$this->_name_1 = $nm;
}
public function __toString()
{
try
{
return (string) $this->_name_1;
}
catch (Exception $exception)
{
return '';
}
}
}
$cls_Obj = new M_Clss('Jhon_ops');
echo $cls_Obj;
?>
Output:
Example #4
This program showcases the input of an array containing various fruits. The goal is to utilize the JSON encode function to convert the array into a JSON-encoded object, which will then be displayed as output.
Code:
<?php
$arr_01 = array('apple' => 2, 'kiwi' => 4, 'mango' => 6, 'banana' => 8, 'orange' => 9);
echo json_encode($arr_01);
?>
Output:
Conclusion
Converting objects into strings is an essential process that enables programmers to gain valuable insights and in-depth information about the object.
Recommended Articles
This is a guide to PHP Object to String. Here we also discuss the introduction, syntax, and examples to convert an object to a string in PHP, along with code implementation. You may also have a look at the following articles to learn more –