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;
}
}
}
}
}
遗嘱将运行并生成相关结果,但我想要额外的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或任何其他语言中是不可能的,但我想要一个替代方案,或者将来可能会添加它以提高性能。
答案 0 :(得分:1)
您可以更改数组的结构方式,使其形式如下:
$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;
}
}
}
答案 1 :(得分:1)
这只是语法糖,PHP必须与你用if做的完全相同,它不能做一些魔术。
有些人喜欢这样的语言功能,有些人则不喜欢,我自己也不情愿,因为我认为语言必须做的事情越多,学习语言的难度就越大。
答案 2 :(得分:0)
如果你想通过php做到这一点,那么你必须等待不切实际的时间。
您可以通过sql连接执行此操作。获取表的内部联接并获得结果。通过查询可以实现。这就是加入to increase performance
的原因。如果您没有加入它们,您可以编写代码。我们一定会尝试提高您系统的性能。