首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环php中的数组

循环php中的数组
EN

Stack Overflow用户
提问于 2013-03-22 20:02:42
回答 9查看 142关注 0票数 0

我正在尝试从表中获取数据,并将其存储在名为"items“的数组中,然后使用index访问它。我得到一个错误“未定义的偏移量: 0”。代码中有什么错误?

代码语言:javascript
复制
$i=0;

while($row = mysql_fetch_array($sqlquery))
{
    $name = $row['name'];

    $items = array();

    $items[$i] = $name;

    $i= $i +1;
}

echo $items[0];
echo $items[1];
EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2013-03-22 20:05:24

您将在每次迭代中重新创建数组。结果数组(代码中的$items)的初始化应该在循环之外。例如:

代码语言:javascript
复制
$items = array();

while($row = mysql_fetch_array($sqlquery, MYSQL_ASSOC))
{

    $name = $row['name'];

    $items[] = $name;
}
echo $items[0];

echo $items[1];

注意: mysql_*函数已弃用,请使用mysqli_*PDO

票数 4
EN

Stack Overflow用户

发布于 2013-03-22 20:06:20

在你的循环之外定义$items,在你的循环之外定义$i = 0,并更改为mysql_fetch_assoc并尝试这样做。

代码语言:javascript
复制
$i = 0;
$items = array();
while($row = mysql_fetch_assoc($sqlquery)) {
    $name = $row['name'];

    $items[$i] = $name;
    $i++;
}
echo $items[0];
echo $items[1];
票数 5
EN

Stack Overflow用户

发布于 2013-03-22 20:05:49

每次在循环中都要重新声明数组,这是不正确的。

代码语言:javascript
复制
$items = array();
while($row = mysql_fetch_assoc($sqlquery))
{
  $items[] = $name = $row['name'];
}
echo $items[0];
echo $items[1];

注: 。它们不再由and are officially deprecated维护。看到了吗?相反,学习,并使用PDOMySQLi - this article将帮助您决定使用哪种方法。如果你选择PDO,here is a good tutorial

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15569825

复制
相关文章

相似问题

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