【发布时间】:2015-06-21 00:22:04
【问题描述】:
我需要一些外部帮助才能弄清楚我是否会理解如何做到这一点......
我有一个多维数组,我正在尝试为其设置一个类,以便我可以将它用作一个对象,以便我可以动态调用它的一部分。
这是我的数组的一个小 sn-p,因此您可以看到我正在使用的结构。
<?php $modelMap=array(
'RM3H3FEW' => array('year' => 2015,
'model' => 'CR-V',
'trim_level'=>array('LX','lx2wd'),
'transmission' => '2WD Continuously Variable ',
'colors' => array(
'BK' => 'Crystal Black Pearl',
'BL' => 'Obsidian Blue Pearl',
'CS' => 'Copper Sunset Pearl',
'KC' => 'Kona Coffee Metallic',
'MA' => 'Mountain Air Metallic',
'MS' => 'Modern Steel Metallic',
'RE' => 'Basque Red Pearl II',
'SI' => 'Alabaster Silver Metallic',
'UT' => 'Urban Titanium Metallic',
'WH' => 'White Diamond Pearl',
)
),
'RM4H3FEW' => array('year' => 2015,
'model' => 'CR-V',
'trim_level'=>array('LX','lxawd'),
'transmission' => 'AWD Continuously Variable ',
'colors' => array(
'BK' => 'Crystal Black Pearl',
'BL' => 'Obsidian Blue Pearl',
'CS' => 'Copper Sunset Pearl',
'KC' => 'Kona Coffee Metallic',
'MA' => 'Mountain Air Metallic',
'MS' => 'Modern Steel Metallic',
'RE' => 'Basque Red Pearl II',
'SI' => 'Alabaster Silver Metallic',
'UT' => 'Urban Titanium Metallic',
'WH' => 'White Diamond Pearl',
)
);
?>
这是我试图构建的类,以使其成为一个对象。不用说,我还没有走多远……
<?php
class OptionsBuild
{
public $year = 0;
public $model = '';
public $transmission = '';
public $trimlevel = '';
public $colorID = '';
public $colorName = '';
public function __construct($modelMap)
{
$this->transmission = $transmission;
$this->trimlevel = $trimlevel;
$this->colorID = $colorID;
$this->colorName = $colorName;
}
}
//Test area
$obj = new OptionsBuild;
$obj = __construct($modelMap);
?>
此外,每当我尝试创建一个可以执行任何操作的函数时,我都会不断收到错误消息,告诉我我的函数不存在并且表现得好像它不存在一样。这是为什么呢?
总而言之,我只是想设置一个类,让我可以输入我的多维数组,然后设置它,以便我可以添加函数/方法来获取年份、模型、修剪级别、传输,和颜色。这甚至可能吗?如果这是一个简单的解决方案,请善待,我是 PHP 新手,是编程新手,并且正在尝试创建我的第一个对象/类。
【问题讨论】:
标签: php arrays class oop multidimensional-array