两者中的哪一个会更快,如何进行此类测量
foreach ($posts as $post)
{
$totalikes = count($post["Like"]);
$totacomments = count($post["Comment"]);
$max = ($totalikes < $totacomments )? $totacomments : $totalikes;
for($i=0;$i<$max;$i++)
{
if(isset($post["Like"][$i]))
$users[] = $post["Like"][$i]["user_id"];
if(isset($post["Comment"][$i]))
$users[] = $post["Comment"][$i]["user_id"];
}
}
或
foreach ($posts as $post)
{
foreach ($post["Like"] as $like)
{
$users[] = $like["user_id"];
}
foreach ($post["Comment"] as $comment)
{
$users[] = $comment["user_id"];
}
}
两者中哪一个更好
答案 0 :(得分:1)
第二种方法。
如果$post['like'] & $post['comment']
的计数不同,则第一种方法会产生开销
PS:第一种方法与第二种方法没有做同样的事情......
方法A中的总循环= 2 x max array size
方法B中的总循环= size of array A+size of array B
对于$users
,两种方法