首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以在循环中使用php变量来创建数组吗?

我可以在循环中使用php变量来创建数组吗?
EN

Stack Overflow用户
提问于 2013-12-04 04:26:24
回答 1查看 50关注 0票数 0

我可以在循环中使用php变量来创建数组吗?

代码语言:javascript
复制
<?php
for($i=5;$i<=100;$i++)
{
    $sql = "SELECT * FROM users WHERE id = '$i' order by id asc";
    $result = mysql_query($sql);
    $datas=mysql_fetch_array($result);{
    $username = stripslashes(str_replace('\r\n', '<br>',($datas['username'])));
    }
    ${'name' . $i} = $username;
}
?>

好了,现在我有php变量$name1-$name100

然后我想通过使用php变量$name1-$name100创建数组。

代码语言:javascript
复制
$my_array = array(php variable $name1-$name100);

我该怎么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-04 04:28:56

只需修改如何存储用户名:

代码语言:javascript
复制
$my_array = array();
for ( $i = 5; $i <= 100; $i++ ) {
    $sql = "SELECT * FROM users WHERE id = '$i' order by id asc";
    $result = mysql_query($sql);
    $datas = mysql_fetch_array($result);
    $username = stripslashes(str_replace('\r\n', '<br>',($datas['username'])));
    $my_array[] = $username; // push usernames into array
}

此外,您不应该运行这么多查询,因此我建议如下所示:

代码语言:javascript
复制
$usernames = array();
$query = "SELECT * FROM users WHERE id >= 5 AND id <= 100 ORDER BY id ASC";
$result = mysql_query( $query );

if ( mysql_num_rows( $result ) > 0 ) {
    while ( $data = mysql_fetch_assoc( $result ) )
        $usernames[] = stripslashes( str_replace( '\r\n', '<br>', $data['username'] ) );
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20366837

复制
相关文章

相似问题

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