Php 迭代foreach循环-组排序效率

Php 迭代foreach循环-组排序效率,php,arrays,performance,sorting,loops,Php,Arrays,Performance,Sorting,Loops,我的项目中有一个循环运行,我对此不满意,我想知道是否有更有效的方法来实现这一点 我有一个这样的数组 $myarray = ["value1", "value2", "value3"]; 然后,我想遍历另一个对象($sponsors),只打印出与$myarray[]中的值匹配的字段。像这样: <?php foreach ($myarray as $value): ?> <?php foreach ($sponsors as $post) : setup_postdata(

我的项目中有一个循环运行,我对此不满意,我想知道是否有更有效的方法来实现这一点

我有一个这样的数组

$myarray = ["value1", "value2", "value3"];
然后,我想遍历另一个对象($sponsors),只打印出与$myarray[]中的值匹配的字段。像这样:

<?php foreach ($myarray as $value): ?>

  <?php foreach ($sponsors as $post) : setup_postdata( $post );?>

       <?php if($post['someValue'] == $value): ?>

           //Do the work

       <?php endif; ?>

  <?php endforeach; ?>

<?php endforeach; ?>

//做这项工作
这很好,但可能意味着50-60个循环只是为了抓取并打印出一些标记。有更好的方法吗


编辑说明:(基于最初的答复)$myarray的顺序很重要,这使我可以将'value1'组合在一起,然后将'value2'等组合在一起

<?php foreach ($sponsors as $post) : setup_postdata( $post );?>

   <?php if(in_array($post['someValue'], $myarray)): ?>
       //Do the work

   <?php endif; ?>

<?php endforeach; ?>

在数组中使用

从这里开始


在数组中使用
函数

它有三个参数,但有一个是可选的

例如:

 in_array($value, $myarray )

欢迎来到SO。为什么会有这些呢,谢谢你。对这只是为了可读性,因为我已经删除了很多html。我理解你的意思,但我这么做的原因是,我可以将$myarray中的所有“value1”匹配项分组在一起,然后将所有“value2”值等分组在一起。啊,我理解。我已经更新了我的答案,这可能有助于你提高绩效。请解释你的答案并举例说明,以便读者了解你在说什么。
 <?php 
   foreach ($sponsors as $post) {
      setup_postdata( $post );
      if(in_array($post['someValue'],$myarray){
             //Do the work
      }
     }
?>
 in_array($value, $myarray )