Php 如何告诉foreach循环只经过x次循环?
如何正确实现这一点:Php 如何告诉foreach循环只经过x次循环?,php,arrays,foreach,Php,Arrays,Foreach,如何正确实现这一点: $array[]['title'] = $secondarray["title"]; $array[]['content'] = $secondarray["content"]; foreach($array as $arr) { $output.="<div>".$arr['title']."</div><br/>"; } unset($arr); $array[]['title']=$secondarray[“title”]; $
$array[]['title'] = $secondarray["title"];
$array[]['content'] = $secondarray["content"];
foreach($array as $arr) {
$output.="<div>".$arr['title']."</div><br/>";
}
unset($arr);
$array[]['title']=$secondarray[“title”];
$array[]['content']=$secondarray[“content”];
foreach($arr形式的数组){
$output.=''.$arr['title'].“
”;
}
未结算($arr);
例如,$array[]['title']
包含10个条目,$array[]['content']
也包含10个条目。
但是foreach循环的结果是20 div,因为$array
包含10+10个元素。我如何告诉foreach只获取$array[]['title']
中的元素数量(因为$array[]['content']
是属于每个标题的内容)?这就意味着只需在循环中重复10次
PS:请不要回答我应该用“for”的问题
谢谢你的帮助,
phpheini使用类似的方法,但若数据来自数据库,则应该真正使用LIMIT
$i = 0;
foreach($array as $arr) {
$i++;
$output.="<div>".$arr['title']."</div><br/>";
if ($i == 10) break;
}
$i=0;
foreach($arr形式的数组){
$i++;
$output.=''.$arr['title'].“
”;
如果($i==10)中断;
}
也许吧
$array[] = array(
'title' => $secondarray["title"],
'content' => $secondarray["content"],
);
在不需要限制循环时间之后,另一种方法是只向其提供部分数组:
foreach (array_slice($array, 0, 10) as $row)
{
...
我建议将标题和内容放在一个数组中,然后您可以使用foreach而不进行计数,标题及其内容是“分组的”:
$array[] = array ( 'title' => $secondarray['title'], 'content' => $secondarray['content'] );
foreach($array as $arr) {
echo '<h1>',htmlspecialchars($arr['title']),'</h1>';
echo '<p>',htmlspecialchars($arr['content']),'</p>';
}
$array[]=array('title'=>$secondarray['title'],'content'=>$secondarray['content']);
foreach($arr形式的数组){
echo'',htmlspecialchars($arr['title']),'';
回音“”,htmlspecialchars($arr['content']),“”;
}
我看不出投反对票的理由。想解释一下吗?当然,第一行不可能完全正确,因为用一个元素创建一个数组没有意义,但是代码取自OPs问题,只是稍微修改了一下,以反映其背后的想法。我不明白他为什么否决你,因为这是一个很好的答案。非常感谢!您的假设不正确:»$array[]['title']包含10个条目,$array[]['content']也有10个«->$array
看起来像:array(1=>array('title'=>'…')、2=>array('content'=>'…')、3=>array('title'=>')、4=>…)
-我怀疑这是您想要实现的目标,但是10只是一个例子,它总是不同的。这是最干净的方式。同样值得注意的是,默认情况下,array\u slice
会重置键,因此在键很重要的情况下,我们需要对每个(array\u slice($array,0,10,true)执行foreach(array\u slice($key=>$row)
。