在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) 回声';
如何一次只提取数组$arr['chart_data']中的10个元素?设置一个计数器,然后在在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 =
$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>';