This article mainly introduces the conversion of objects into JSON strings, which has certain reference value. Now I share it with everyone. Friends in need can refer to it
Define a Student class:
1 class Student { 2 public $name; 3 public $age; 4 function __construct($name, $age) { 5 $this->name = $name; 6 $this->age = $age; 7 } 8 }
At this time, create a new object and echo directly: 1 $person1 = new Student('jack', 20); 2 echo $person1;
The result is not printed as we expected Instead of exiting the object, a fatal error is reported:
means that the object instantiated by the Student class cannot be converted into a string. Here you can get a message: echo It must be followed by a string,
Otherwise it will be automatically converted into a string. So how to convert an object into a string?
First introduce a magic method: __tostring(), this method is used for how a class should respond when it is treated as a string. For example echo $obj;
What should be displayed. This method must return a string, otherwise a E_RECOVERABLE_ERROR
level fatal error will be issued.
Add this magic method to the Student class:
1 class Student { 2 public $name; 3 public $age; 4 function __construct($name, $age) { 5 $this->name = $name; 6 $this->age = $age; 7 } 8 function __tostring() { 9 return json_encode($this, JSON_FORCE_OBJECT); 10 } 11 }
json_encode(value, options) method can convert an object into JSON characters String, this method accepts two parameters,
The first parameter: value
The value to be encoded, except the resource type, can be any data type
This function can only accept UTF- 8 Encoded data
Second parameter: options
Binary mask composed of the following constants: JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT, JSON_UNESCAPED_UNICO DE.
Return value: Returns a string represented in JSON form if the encoding is successful or returns FALSE on failure.
note: Compared with the json_encode method, there is the json_decode method. This method can convert a JSON format string into a PHP variable. This method accepts two parameters
The first parameter: json string
The second parameter: true/false. When it is true, it means transposing the string into an array. When it is false, it means conversion. is an object, the default is false
Return value: object or array (when the second parameter is true)
You can open it in the browser at this time See that the conversion is successful:
# The above is the entire content of this article. I hope it will be helpful to everyone’s learning. For more related content, please pay attention to the PHP Chinese website!
Related recommendations:
php redis service compilation and installation method
php source code database building table-configuration file-error log method
The above is the detailed content of Convert object to JSON string. For more information, please follow other related articles on the PHP Chinese website!