首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用end($array)检索数组中的最后一行

问使用end($array)检索数组中的最后一行
EN

Stack Overflow用户
提问于 2014-04-15 08:30:13
回答 4查看 92关注 0票数 0

在做了一些研究之后,我听说要检索数组上的最后一行,我可以使用end($arrayname)

但是,当将它放入我的页面时,它不会检索最后一个,而是检索数组中的第一个。

代码语言:javascript
复制
$query2 = "SELECT * FROM Items";
$resultSet2 = mysql_query($query2);


while ($row2 = mysql_fetch_array($resultSet2, MYSQL_ASSOC))
{
$lastElement = end($row2);
echo $lastElement;
}

像这样循环遍历数组将依次遍历和显示数组中的每一行:玛瑙&拉布拉多岩Necklace.jpgAgate Necklace.jpgAventurine、塞特林和卡内勒Necklace.jpg。

然而,我的印象是,它应该简单地重复最后一项(卡尼利亚necklace.jpg)每次

代码语言:javascript
复制
$row2 = mysql_fetch_array($resultSet2, MYSQL_ASSOC);
$lastElement = end($row2);
echo $lastElement

这将打印数组中的第一项。有什么原因导致这种情况发生吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-04-15 08:32:55

您正在将end应用于$row2,它已经代表了一行数据。这使得$lastElement成为每一行的最后一列( while遍历行)。

获取N个项目是没有意义的,这样您就可以重复其中的最后一个项目N次(另外: SQL查询没有指定排序顺序,所以您也不知道最后一个项目是什么)。如果您想这样做,可以使用LIMIT 1和数字N获取一个条目,使用适当的查询,最后只需使用for循环即可。

票数 0
EN

Stack Overflow用户

发布于 2014-04-15 08:32:45

为什么要做这么多麻烦,只需选择查询中的最后一行

代码语言:javascript
复制
SELECT * FROM Items order by primary_key desc limit 1 

primary_key是表的列名,它是主键。

票数 1
EN

Stack Overflow用户

发布于 2014-04-15 08:32:09

在php中尝试使用array_pop函数

代码语言:javascript
复制
$row2 = mysql_fetch_array($resultSet2, MYSQL_ASSOC);
$lastElement = array_pop($row2);
echo $lastElement
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23078361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档