哪种语言可以将数组转换为对象?

时间:2011-05-30 09:52:22

标签: php language-agnostic

我想问一下(除了PHP之外)是否有一种语言可以cast一个简单的数组到它的对象。

在PHP中你可以这样做:

$obj = (object) $array;

echo $obj->key1;

是否有其他语言的等价物? (java,c#等)

2 个答案:

答案 0 :(得分:1)

大多数其他语言都有类似的结构。

  • Java + C#使用类似的语法
  • 执行此操作
  • 在C ++中,它类似于转换为(void *)
  • Javascript会将数组视为任何其他类型的对象。

答案 1 :(得分:1)

我认为这里的关键点不是演员,而是事实上,之后,数组键被访问,好像它们是对象的常规成员一样。

在许多语言中,数组(地图)对象,但它们不会将数组键作为字段公开,因为数组本质上是动态的,但在静态语言中,对象字段是固定的。 这意味着Java和C#没有类似的功能 - 它们确实将数组视为对象,并且它们确实有转换来实现它,但是它们不会给你相同的语义。

所以剩下的候选者是动态语言,如Python或Javascript。其中,我所知道的都没有一个类似于PHP类型转换的构造。有可能编写辅助函数来从数组/字典转换为我提到的两种语言中的对象。

个人陈述:我认为这在PHP中是一个相当可疑的功能

相关问题