【问题标题】:Can be anything done with an empty object?可以用空对象做任何事情吗?
【发布时间】:2019-06-26 14:41:59
【问题描述】:

对不起,如果这个问题有点愚蠢......但我已经在我们的系统中看到它,我现在很好奇......

你能用这样的一个完整的空对象做什么吗(?):

我查看了 PHP 并进行了搜索,但没有找到。因为很明显,你不能处理一个空的对象,对吧?

class Foo {

    function __construct() {

    }
}

$foo = new Foo();

我已经测试过......

echo json_encode($foo);
print_r($foo);
var_dump($foo);

{}
Foo Object ( ) 
object(Foo)#428 (0) { }

并以某种方式设置它。但我认为你可以用它做的唯一事情就是从中获取一些无用的信息......

【问题讨论】:

  • 你能用一个完整的空对象做什么...你所说的“做什么”是什么意思??
  • 你能以某种方式填充它吗?或者它可以用作某物的用途
  • $foo->test = "testing 1.2.3..."; print_r($foo);
  • @woollhaar 是的,如果您扩展课程但问这样的问题是没有用的。否则,它没有用,如果你不想添加额外的信息,扩展类也没有用。
  • @Wollhaar 是的,你可以用它做任何事情,但如果这是唯一出现此类的实例并且没有任何实例的痕迹,你最好删除它。

标签: php object


【解决方案1】:

这与使用stdClass 非常相似。您可以添加/更改/检索等。

$foo = new Foo();
$foo->test = "This is a test";
$foo->myarray[] = "First array element";
$foo->obj = new Foo;
$foo->obj->new_test = "New test";

var_dump($foo);

产量:

object(Foo)#1 (3) {
  ["test"]=>
  string(14) "This is a test"
  ["myarray"]=>
  array(1) {
    [0]=>
    string(19) "First array element"
  }
  ["obj"]=>
  object(Foo)#2 (1) {
    ["new_test"]=>
    string(8) "New test"
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 2018-07-02
    • 2020-06-25
    • 1970-01-01
    • 2021-03-02
    相关资源
    最近更新 更多