簡體   English   中英

從 mysql 查詢中獲取結果到 integer 數組中?

[英]Get results from mysql query into an integer array?

我正在使用 php 嵌入式 mysql 查詢如下:

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

其中“右”和“左”列都是整數。

執行此查詢后,我希望將結果集分配到 php 中的 integer 數組中。 是否有將查詢結果轉換為 integer 數組的有效方法?

問題:

我基本上希望能夠在將查詢的結果集分配給 $results_array 並且 $x 是任何 integer 之后提出問題:“$results_array 中的 $x”。

任何幫助表示贊賞的家伙....

您遍歷結果並構建數組。

如果您真的需要結果是整數,只需將其傳遞給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);

編輯:對不起。 我把事情搞砸了。 剛改正。


我基本上希望能夠提出這個問題:“$x 在 $results_array 中”

使用 MySQL 執行此操作。 它針對快速執行此類操作進行了優化。 特別是如果您正確設置了索引。

php 是一種松散類型的語言,所以一般來說,它是“10”還是 10並不重要。php 會正確評估它為 Z157DB7DF530023575515D366C9B67

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

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

或者,如果您想專門鍵入 cast 它,您可以這樣做

$x = intval($x);

或者

$x = (int) $x;

編輯:(回復下面的評論)

回復:“將結果放入數組中”

當您執行查詢時,您會得到一個返回的結果 為了將返回的數據放入數組中,您需要遍歷結果源並分配給數組。 例子:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM