在php中一次获取10个数组元素? echo”“; foreach($arr['chart\u data']作为$key=>$element){ 回声“; foreach($element作为$subkey=>$subelement){ //$subelement=chop($subelement,'DIRECTSegment'); 如果($subkey++$element形式的数据){ 回声“; foreach($element作为$subkey=>$subelement){ $subelement=chop($subelement,'DIRECTSegment'); 如果($subkey++close(); } /*密切联系*/ $mysqli->close(); //现在这是链接。。 回声'; $prev=$startrow-10; //仅在单击“下一步”时打印“上一步”链接 如果($prev>=0) 回声';

在php中一次获取10个数组元素? echo”“; foreach($arr['chart\u data']作为$key=>$element){ 回声“; foreach($element作为$subkey=>$subelement){ //$subelement=chop($subelement,'DIRECTSegment'); 如果($subkey++$element形式的数据){ 回声“; foreach($element作为$subkey=>$subelement){ $subelement=chop($subelement,'DIRECTSegment'); 如果($subkey++close(); } /*密切联系*/ $mysqli->close(); //现在这是链接。。 回声'; $prev=$startrow-10; //仅在单击“下一步”时打印“上一步”链接 如果($prev>=0) 回声';,php,arrays,Php,Arrays,如何一次只提取数组$arr['chart_data']中的10个元素?设置一个计数器,然后在$count达到10时中断循环 echo "<table title='mxit:table:full' style='width: 100%' width='100%'><colgroup span='2' width='50%'></colgroup>"; foreach($arr['chart_data'] as $key =

如何一次只提取数组$arr['chart_data']中的10个元素?

设置一个计数器,然后在
$count
达到10时中断循环

       echo "<table title='mxit:table:full' style='width: 100%' width='100%'><colgroup span='2' width='50%'></colgroup>";




        foreach($arr['chart_data'] as $key => $element){



          echo "<tr>";


            foreach($element as $subkey => $subelement){

              // $subelement =chop($subelement,'DIRECTSegment');

                 if($subkey++ < 2) {
                if($key == 0)
                {

               echo "<td align='center;' style='color:white;'>$subelement</td>";
                }

                else if($subkey == 1)
                {
                    echo "<td align='center;' style='color:white;'>$subelement</td>";   
                }

                else
                {

                echo "<td align='center;' style='color:white;'><a href='getdata.php?key=$key'>".$subelement."</a></td>";
                }
                 }

            }

              }
           echo "</tr>";

       echo "</table>";

不管怎样,对于所有投反对票的人,为了我自己的利益,我解决了我的问题:

以下是我所做的:

$count = 0;
/* loop here */
if ($count == 10) break;
$totalfiles=count($arr['chart_data']);
$limit=10;
$pages=ceil($totalfiles/$limit);
如果(!isset($\u GET['startrow'])或!是数值($\u GET['startrow'])){
//我们将起始行的值设为0,因为在URL中找不到任何内容
$startrow=0;
//否则,我们从URL获取值
}否则{
$startrow=(int)$_GET['startrow'];
}
回声“;
$data=array_slice($arr['chart_data',$startrow,10);//与sql中的偏移量0限制50相同
foreach($key=>$element形式的数据){
回声“;
foreach($element作为$subkey=>$subelement){
$subelement=chop($subelement,'DIRECTSegment');
如果($subkey++<2){
如果($key==0&&$startrow==0){
回显“$subelement”;
}else if($subkey==1){
回显“$subelement”;
}否则{
回声“;
}
}
}
回声“;
}
回声“;
/*自由结果集*/
$result->close();
}
/*密切联系*/
$mysqli->close();
//现在这是链接。。
回声';
$prev=$startrow-10;
//仅在单击“下一步”时打印“上一步”链接
如果($prev>=0)
回声';
实现分页并使用数组切片一次显示10个元素。


感谢所有的帮助

这是你今天关于同样几行代码的第六个问题-你真的应该使用谷歌和一些教程,而不是复制粘贴所有内容。谷歌搜索“数组php中的前10个元素”会得到2880万个结果。我已经尝试了一段时间,现在这不是我自己使用的复制粘贴代码:/搜索时得出了什么结论
array\u slice
这是Google上的第一个结果。你的
$arr['chart\u data']
包含子数组,那么,元素是什么意思?我尝试了array\u slice和chart\u data array,但效果不好me@AlexandruG. 有多种方法可以做到这一点。两者的工作原理相同,一个只是复制和截断数组,另一个只是在一个条件下中断循环。没有理由使用-1。此方法不需要创建数组的副本(而
array\u slice
会这样做),因此它实际上会快一点。@h2ooooo如果需要从数组中获取x个元素,那么您究竟为什么更喜欢循环而不是切片呢?你认为循环内存很便宜吗?你应该跑一些benchmarks@AlexandruG. 你应该看看OP的代码。你真的认为当OP已经在结果中循环时,使用
array\u slice
就足够了吗?您是否建议使用
array\u slice($array,0,10)作为唯一的代码行?如果问题是是否使用计数器(类似于($i=0,$len=min(10,count($array));$i<$len;$i++)
)或($code>)foreach(array_切片($array,0,10)作为$item),那么第一个更快。
 $totalfiles = count($arr['chart_data']);
  $limit = 10;
  $pages = ceil($totalfiles / $limit);


  if (!isset($_GET['startrow']) or!is_numeric($_GET['startrow'])) {
      //we give the value of the starting row to 0 because nothing was found in URL
      $startrow = 0;
      //otherwise we take the value from the URL
  } else {
      $startrow = (int) $_GET['startrow'];
  }

  echo "<table title='mxit:table:full' style='width: 100%' width='100%'><colgroup span='2' width='50%'></colgroup>";


  $data = array_slice($arr['chart_data'], $startrow, 10); // same as offset 0 limit 50 in sql

  foreach($data as $key => $element) {



      echo "<tr>";


      foreach($element as $subkey => $subelement) {

          $subelement = chop($subelement, 'DIRECTSegment');

          if ($subkey++ < 2) {
              if ($key == 0 && $startrow == 0) {

                  echo "<td align='center;' style='color:white;'>$subelement</td>";
              } else if ($subkey == 1) {
                  echo "<td align='center;' style='color:white;'>$subelement</td>";
              } else {

                  echo "<td align='center;' style='color:white;'><a href='getdata.php?key=$key'>".$subelement.
                  "</a></td>";
              }
          }

      }
      echo "</tr>";

  }


  echo "</table>";




  /* free result set */
  $result - > close();
  }


  /* close connection */
  $mysqli - > close();

   //now this is the link..
  echo '<a href="'.$_SERVER['PHP_SELF'].
  '?startrow='.($startrow + 10).
  '">Next</a>';

  $prev = $startrow - 10;

   //only print a "Previous" link if a "Next" was clicked
  if ($prev >= 0)

      echo '  <a href="'.$_SERVER['PHP_SELF'].
  '?startrow='.$prev.
  '">Previous</a>';