使用哪里在foreach循环在php
问题描述:
嘿家伙我昨天有一个想法。你能帮我解决这个问题吗? 下面是代码使用哪里在foreach循环在php
foreach($categoriesDetail as $categories)
{
foreach($subCategoriesDetail as $subCategories)
{
if($categories->id == $subCategories->cat_id)
{
foreach($teamsDetail as $team)
{
if($subCategories->id == $team->sub_cat_id)
{
echo $team->name;
}
}
}
}
}
意愿将运行并产生correcr结果,但我想额外iteratinos不运行。换句话说
foreach($categoriesDetail as $categories)
{
foreach($subCategoriesDetail as $subCategories where $categories->id == $subCategories->cat_id)
{
foreach($teamsDetail as $team where $subCategories->id == $team->sub_cat_id)
{
echo $team->name;
}
}
}
我知道这是不可能的PHP或任何其他语言,但我想替代或可在未来他们可能会添加此来提高性能。
答
你可以改变阵列结构的方式,以便它在形式:
$subCategoriesDetail[$cat_id] = array();
$teamsDetail[$sub_cat_id] = array();
那么你可以使用:
foreach($categoriesDetail as $categories)
{
foreach($subCategoriesDetail[$categories->id] as $subCategories)
{
foreach($teamsDetail[$subCategories->id] as $team)
{
echo $team->name;
}
}
}
答
如果你想,那么你必须要等待由PHP这样做不切实际的时间。
你可以通过sql连接来完成。以表格的内部连接并获得结果。这可以通过查询。这就是为什么加入to increase performance
。如果你没有加入它们,你可以编写你的代码。我们一定会努力提高你的系统的性能。
答
这将只是语法糖,PHP将不得不做与你一样的if,它不能做一些魔术。
有些人喜欢这样的语言功能,有些人不喜欢,我自己也不愿意,因为我认为语言必须做更多功能的同一件事,学习语言就越困难。
+0
+1“我认为语言做同样事情的功能越多,学习语言就越困难。” – Kamal 2012-03-22 08:01:55
问题是????? – 2012-03-22 06:02:55
需要减少迭代以提高性能。 – 2012-03-22 12:01:19