我必须将一个对象转换为数组,但是我想省略一些对象的属性。
<Scene
navigationBarStyle={styleNav.Nav}
titleStyle={styleNav.NavText}
headerTintColor={colors.white}
key="singlePage"
hideNavBar={true}
component={AlimYeri}
title={strings.PAGE_TITLE.ALIMYERI}
/>
<Tabs
key="tab"
swipeEnabled
showLabel={true}
hideNavBar={true}
tabBarPosition="top"
activeBackgroundColor="white"
lazy
>
<Scene
hideNavBar={true}
key="tab_1"
component={tab_1}
title={strings.PAGE_TITLE.tab_1}
/>
<Scene
hideNavBar={true}
key="tab_2"
component={tab_2}
title={strings.PAGE_TITLE.tab_2
/>
<Scene
hideNavBar={true}
key="tab_3"
component={tab_3}
title={strings.PAGE_TITLE.tab_3}
/>
</Tabs>
当我将此类的对象转换为数组时,生成的数组应为e。 G。看起来像这样:
class X {
protected $a = 1;
protected $b = 5;
/**
* Property 'a' should not exist in the resulting array
*/
public function __toArrayOrSomething()
{
return [
'b' => $this->b
];
}
}
$x = new X();
$result = (array) $x;
应该看起来像这样:
$result
我知道有很多方法可以进行手动数组转换,但是我需要一种用于类型转换([
'b' => 5
]
)的解决方案。
所以问题是: 是否有类似JsonSerializable :: jsonSerialize的东西用于数组广播?
或者换句话说:当将一个对象强制转换为数组时,是否有一个被调用的方法?