PHP创建同一对象的两个或多个实例,是否可以从第一个对象中检索信息



我有一个小项目正在进行中,由于我不是OOP方面的佼佼者,我来这里寻求帮助。我有一门课叫";truckinfo";

class truckinfo
{
public $vendor;
public $truckcount;
public $plate;
}

现在,我从其他地方获得了车牌或供应商等信息,然后将卡车显示在列表中。我计划创建一个有点像这个的列表

for($i = 0; $i < 3; $i++){
$truck = new truckinfo();
$truck->plate =  "abc" . $i;
$truck->truckcount = $i + 5;
echo $truck->truckcount;
}

我的问题是,在显示所有卡车后,是否有可能从第一辆卡车(在这种情况下是车牌为"abc0"的卡车(获得信息,或者我只能获得进入循环的最新卡车的信息?

提前谢谢。

有了这一小段逻辑,就没有变量可以保存对第一个truck对象的引用,所以(可能是我不知道的(没有办法获得该对象。通常在基础课程中,你会被介绍到所谓的"管理"类,这些类构造某种对象,并在数组(或其他数据结构(中跟踪它们,允许你搜索它们等。特别是如果你开始开发一个小型的基本CRUD应用程序,那么将这一职责分组到一个单独的类中是很好的。通过这种方式,您可以管理对象的标识,也可以更干净地获取和返回唯一标识它的所需对象

让我补充一下,对于您的示例,我假设将它们存储在关联数组中为:$trucks[$truck->plate] = $truck,为自己创建一个车牌到卡车信息对象的小映射就足够了。然后,您可以通过车牌直接访问和检索它们。

$trucks = [];
for($i = 0; $i < 3; $i++){
$truck = new truckinfo();
$truck->plate =  "abc" . $i;
$truck->truckcount = $i + 5;
echo $truck->truckcount;
$trucks[$truck->plate] = $truck
}
echo $trucks['abc0']->truckcount;

您可以简单地创建任意数量的对象实例。例如,您可以将它们保存在阵列中,以便以后直接访问。

$trucks = array();
for($i = 0; $i < 3; $i++){
$trucks[$i] = new truckinfo();
$trucks[$i]->plate =  "abc" . $i;
$trucks[$i]->truckcount = $i + 5;
echo $trucks[$i]->truckcount;
}
echo $trucks[0]->truckcount; //example

相关内容

最新更新