是否比:
更简单foreach ($array as $key => $value) {
if($value['date']->ID == 22) { echo $key; }
}
用于搜索ID->22
(每个ID
是唯一的)然后如果存在,则返回父键?在这种情况下,它将是关键0:
Array
(
[0] => Array
(
[date] => WP_Post Object
(
[ID] => 22
)
)
[1] => Array
(
[date] => WP_Post Object
(
[ID] => 33
)
)
)
只是好奇是否有一种不那么密集的方式,因为它必须在任何给定的页面上做很多。如果没有,一次运行700个这样的循环是否可行?
答案 0 :(得分:1)
此答案未涉及此问题的Is there a simpler than:
部分。 foreach
循环很可能是最简单的方法。我在答案is [there] a less intensive way of doing this
的底部将您的问题作为真正的问题。
正如评论中所提到的,当你有结果时,可以使用break
退出循环,停止任何进一步的不必要的处理。
foreach($array as $key => $value)
{
if ($value->ID === 22)
{
echo $value->ID;
break;
}
}
对结果进行排序也会对此类循环的性能产生重大影响。当您引入条件逻辑时,处理器会在知道$value->ID
的实际值之前尝试预测语句的结果。如果你允许它预测这个,你可以使循环更快。这称为分支预测。关于这个here会有很好的答案,可以帮助你。