当前位置: 首页 > 知识库问答 >
问题:

如何从php[closed]中的对象中获取值

漆雕安晏
2023-03-14

我有一个php对象,我想从中获取一些值

这就是我所拥有的:

$data = Array (
"title"=> "videotitle",
"filename"=> "test.mp4",
"description"=> "test"
);

$title = ???;

如何获得变量中title的值?

共有1个答案

许展鹏
2023-03-14

这只是一个php对象的快速指南,因为您选择的表示法会引发错误,因为php没有像javascript或其他语言那样的短对象表示法。未知的、匿名的对象在某种程度上也是不干净的,如果您想要使用它们来进行类型提示的话。

php标准类

$object = new stdClass();
$object->foo = 'bar';
$object->bar = 'foo';

$foo = $object->foo;

那应该是声明一个简单对象的唯一干净的方法。当然,也有一些其他的方法和手段,但不幸的是,它们都很凌乱,而且根本就不是标准的,只需要考虑干净的代码。

自身值对象

class MyValueObject implements JsonSerializable
{
    public function __construct(
        protected string $foo,
        protected int $bla
    ) {}

    public function jsonSerialize()
    {
        return get_object_vars($this);
    }
}

这是建造者的财产提升。从PHP8开始就可以使用这种不使用旧方法定义对象属性的简短表示法。您可以按以下方式访问此属性。

$object = new MyValueObject('bla', 2021);
echo $object->foo; // echoes 'bla'
echo $object->bla; // echoes 2021;

要获得JSON符号的对象,只需将其回显为JSON即可。

echo json_serialize($object);

...这将最终在...

{
    foo: 'bla',
    bla: 2021
}

就是这样。

 类似资料:
  • 我是Javascript新手,我正试图从包含多个对象的数组中获取id键的值。 通过 for..在循环中,我需要对象的id - 如1,2或3 - 与不同的值进行比较。 我试着这样做: 但是,我这样做了,删除Id值返回未定义。 我想不通为什么返回未定义,我无法解决这个问题。 我希望我能很好地表达自己,对不起我的英语不好。

  • 问题内容: 在viewmodel对象中,以下是属性: 在VIEW中,javascript如下: 请在这里指导,我如何在javascript中获取JSON对象。 问题答案: 您可以使用以下内容: 这将输出以下内容(没有看到您的模型,我仅包含一个字段): 工作小提琴 AspNetCore AspNetCore使用的接口 MVC 5/6 您可以为此使用Newtonsoft: 这使您可以更好地控制json

  • 我在Netbeans构建了一个Java项目。我有一个表单,表单内部有一个jList,其中填充了一个对象(Favorite)。我也有一个按钮,我想当我按下按钮删除选定的项目在jList。 我正在尝试以下代码,但我得到一个错误。 我得到以下错误: 线程“AWT-EventQueue-0”中出现异常Java . lang . classcastexception:Java . lang . string

  • 问题内容: 可以说我有一个单词列表,我想创建一个将新列表的大小作为参数并返回新列表的方法。我如何从原始sourceList中获得随机单词? 那么,如何以及在哪里可以使用我的随机数? 问题答案: 我找到了适当的解决方案。Random提供了一些返回流的方法。例如ints(size)会创建一个随机整数流。

  • 我有一个JTable,我可以在其中添加具有几个属性的用户,如年龄、名称等。这起作用了,用户被添加到我的arraylist和JTable中。现在我想要的是,当我选择JTable行时,能够获得存储在用户的arrayList中的对象,以便我可以修改或删除它们。 有谁能帮我一下吗?谢谢!

  • 我正在做一个项目,在那里用户可以写其他用户的邮件。邮件类当前如下所示: 现在,问题是,我需要将所有邮件保存到. yml用户数据文件中。对我来说,最简单的方法是首先将每封邮件转换为字符串,然后将所有邮件保存到