我想问一下(除了PHP之外)是否有一种语言可以cast
一个简单的数组到它的对象。
在PHP中你可以这样做:
$obj = (object) $array;
echo $obj->key1;
是否有其他语言的等价物? (java,c#等)
答案 0 :(得分:1)
大多数其他语言都有类似的结构。
答案 1 :(得分:1)
我认为这里的关键点不是演员,而是事实上,之后,数组键被访问,好像它们是对象的常规成员一样。
在许多语言中,数组(地图)是对象,但它们不会将数组键作为字段公开,因为数组本质上是动态的,但在静态语言中,对象字段是固定的。 这意味着Java和C#没有类似的功能 - 它们确实将数组视为对象,并且它们确实有转换来实现它,但是它们不会给你相同的语义。
所以剩下的候选者是动态语言,如Python或Javascript。其中,我所知道的都没有一个类似于PHP类型转换的构造。有可能编写辅助函数来从数组/字典转换为我提到的两种语言中的对象。
个人陈述:我认为这在PHP中是一个相当可疑的功能。