相关疑难解决方法(0)

PHP相当于.NET/Java的toString()

如何将PHP变量的值转换为字符串?

我正在寻找比用空字符串连接更好的东西:

$myText = $myVar . '';
Run Code Online (Sandbox Code Playgroud)

就像ToString()Java或.NET中的方法一样.

php string

542
推荐指数
14
解决办法
150万
查看次数

将PHP对象序列化为JSON

所以当我偶然发现新的JsonSerializable接口时,我在php.net上闲逛,了解有关将PHP对象序列化为JSON的信息.它只有PHP> = 5.4,而且我在5.3.x环境中运行.

这种功能如何实现PHP <5.4

我还没有使用JSON,但是我正在尝试在应用程序中支持API层,并且将数据对象(否则将被发送到视图)转储到JSON中将是完美的.

如果我尝试直接序列化对象,它会返回一个空的JSON字符串; 这是因为我认为json_encode()不知道该对象究竟做了什么.应予递归降低对象到一个数组,然后编码


$data = new Mf_Data();
$data->foo->bar['hello'] = 'world';
Run Code Online (Sandbox Code Playgroud)

echo json_encode($data) 产生一个空对象:

{}
Run Code Online (Sandbox Code Playgroud)

var_dump($data) 但是,按预期工作:

object(Mf_Data)#1 (5) {
  ["_values":"Mf_Data":private]=>
  array(0) {
  }
  ["_children":"Mf_Data":private]=>
  array(1) {
    [0]=>
    array(1) {
      ["foo"]=>
      object(Mf_Data)#2 (5) {
        ["_values":"Mf_Data":private]=>
        array(0) {
        }
        ["_children":"Mf_Data":private]=>
        array(1) {
          [0]=>
          array(1) {
            ["bar"]=>
            object(Mf_Data)#3 (5) {
              ["_values":"Mf_Data":private]=>
              array(1) {
                [0]=>
                array(1) {
                  ["hello"]=>
                  string(5) "world"
                }
              }
              ["_children":"Mf_Data":private]=>
              array(0) …
Run Code Online (Sandbox Code Playgroud)

php json object object-serialization

100
推荐指数
5
解决办法
15万
查看次数

如何将PHP对象转换为字符串?

可能重复:
PHP ToString()等效

我收到此错误:

Catchable fatal error: Object of class stdClass could not be converted to string
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是,如何在PHP中将对象转换为字符串?我不想序列化它.

请注意:我使用的代码适用于PHP 4,但不适用于PHP 5

谢谢!

编辑:我自己解决了.这是一种痛苦,但我做到了.无论如何,谢谢大家:-)

php

9
推荐指数
2
解决办法
5万
查看次数

标签 统计

php ×3

json ×1

object ×1

object-serialization ×1

string ×1