PHP数组对象的好坏实践

时间:2014-11-01 02:44:27

标签: php arrays oop object

我正在使用数组为自定义Web应用程序创建数据结构树,但我发现很难访问树根中的嵌套数组

//this is the code i have created
$Root = array(
    'car' => array(
         'id' => '0009'
         'driver' => 'david',
         'color' => 'red'
     ) 
    'bus' => array(
         'id' => '0010'
         'driver' => 'alex',
         'color' => 'green'
     )
);

所以返回一个项目我必须这样做

$driver = $root['car']['driver'];

通过在'array()之前添加'(object)'将所有这些数组转换为对象将解决这样的问题:

$Root = (object)array(
    'car' => (object)array(
         'id' => '0009'
         'driver' => 'david',
         'color' => 'red'
     ) 
    'bus' => (object)array(
         'id' => '0010'
         'driver' => 'alex',
         'color' => 'green'
     )
);

所以现在我可以通过以下方式访问这些项目:

$driver = $root->car->driver;

现在的问题是,这种方式在为每个???

创建包含100个或更多项目的多个数组时会出现性能问题

1 个答案:

答案 0 :(得分:1)

糟糕的做法。为什么要将数组转换为对象?将它们用作数组。如果你想要对象,那么创建一个类文件,并使用对象,而不仅仅是将数组转换为对象。