将mysql查询的结果导入整数数组?

时间:2011-05-04 14:42:55

标签: php mysql

我使用的是php嵌入式mysql查询,如下所示:

$query_sample = mysql_query(" 
SELECT left FROM sampleTable WHERE right  = 1 
UNION 
SELECT right FROM sampleTable WHERE left  = 1 
");

其中“right”和“left”列都是整数。

执行此查询后,我希望将结果集分配到php中的整数数组中。 有没有一种有效的方法将查询结果转换为整数数组?

问题:

我基本上希望能够在查询的结果集被分配给$ results_array并且$ x是任何整数后,能够提出问题:“$ result in $ result_array”。

任何帮助赞赏的人......

2 个答案:

答案 0 :(得分:1)

您运行结果并构建数组。

如果您确实需要将结果作为整数,请将其传递给intval。随后是一个快速片段。

$query_sample = mysql_query(" 
SELECT left FROM sampleTable WHERE right  = 1 
UNION 
SELECT right FROM sampleTable WHERE left  = 1 
");
$result = array();
while($r = mysql_fetch_array($query_sample, MYSQL_NUM)){
    $result[] = intval($r[0]);
}

var_dump($result);

编辑:抱歉。我弄乱了事情。刚刚纠正了它。


  

我基本上想要能够问   问题:“$ result in $ result_array”

使用MySQL做到这一点!它针对快速完成此类操作进行了优化。特别是如果你已正确设置索引。

答案 1 :(得分:0)

php是一种松散类型的语言,所以一般来说,它不是真的重要的是它是“10”还是10.如果你想做的话,php会正确地将它评估为整数

$x = "10";
$y = $x * 10; // assigns 100

..但是如果你真的想知道它是否可以是一个整数,你可以使用is_int()

或者如果你想特别输入它,你可以这样做

$x = intval($x);

$x = (int) $x;

编辑(对以下评论的回复)

re:“将结果变成数组”

执行查询时,会返回 source 结果。为了将返回的数据放入数组,您需要遍历结果源并分配给数组。例如:

$result = mysql_query($querystring);
while ($row = mysql_fetch_assoc($result)) {
  $array[] = $row['columnname'];
}