Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何告诉foreach循环只经过x次循环?_Php_Arrays_Foreach - Fatal编程技术网

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)