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 )