我使用的是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”。
任何帮助赞赏的人......
答案 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'];
}