首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP有没有对象的简写语法?

问PHP有没有对象的简写语法?
EN

Stack Overflow用户
提问于 2009-01-18 20:07:01
回答 6查看 25.3K关注 0票数 42

在javascript中,您可以轻松地创建对象和数组,如下所示:

代码语言:javascript
复制
var aObject = { foo:'bla', bar:2 };
var anArray = ['foo', 'bar', 2];

类似的事情在PHP中也是可能的吗?

我知道使用array函数可以很容易地创建数组,这几乎不需要比javascript语法更多的工作,但是有没有类似的语法来创建对象呢?或者我应该只使用关联数组?

代码语言:javascript
复制
$anArray = array('foo', 'bar', 2);
$anObjectLikeAssociativeArray = array('foo'=>'bla',
                                      'bar'=>2);

所以总结一下:

PHP有没有像javascript一样的对象创建功能,或者我应该只使用关联数组?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-01-18 20:15:07

对于简单的对象,您可以使用关联数组语法和强制转换来获取对象:

代码语言:javascript
复制
<?php
$obj = (object)array('foo' => 'bar');
echo $obj->foo; // yields "bar"

但是看一看,你会很容易发现它是多么的无用(如果你的结构是那么简单的话,你只会把它作为一个关联数组)。

票数 55
EN

Stack Overflow用户

发布于 2011-09-21 06:19:10

从PHP 5.4开始,您可以这样做:

代码语言:javascript
复制
$array = ['foo'=>'bla', 'bar'=>2];

它不是很短,但是如果您需要使用很多硬编码的嵌套数组(这并不罕见),您会喜欢它的。

如果你想要一个对象,你仍然需要转换每个数组:

代码语言:javascript
复制
$object = (object) ['foo'=>'bla', 'bar'=>2];
票数 10
EN

Stack Overflow用户

发布于 2012-10-11 18:51:01

根据新的PHP语法,

您可以使用

代码语言:javascript
复制
$array = [1,2,3];

和用于关联数组

代码语言:javascript
复制
$array = ['name'=>'Sanket','age'=>22];

对于对象,可以将数组类型转换为对象

代码语言:javascript
复制
$object = (object)['name'=>'Sanket','age'=>22];
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/455800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档