2013-04-11 181 views
0

我正在逐行地將數據庫查詢的結果寫入數組,然後我將自己的行添加到數組的最後一個索引。我使用谷歌的開發工具,以查看其是如下所述陣列的結果:PHP關聯數組引用

10: {strat_id:1, x_id:1, outcome_id:52, date:1364655600, status:0, rank:1,…} 
> 
strat_id: "1" 
status: "0" 
date: "1364655600" 
x_id: "1" 
outcome_id: "52" 
rank: "1" 

11: {strat_id:4, x_id:1, outcome_id:49, date:1365674916, status:1, rank:1,…} 
> 
strat_id: 4 
status: "1" 
date: 1365674916 
x_id: 1 
outcome_id: 49 
rank: 1 

的「>」字符表示,其中我已擴展的索引。索引10是數據庫的最後一行,您可以看到擴展後的值由引號環繞。索引11是我手動添加的數據,當展開時,您可以看到這些值未被引用包圍(狀態除外)。

爲了保持一致性,我該不該打擾這個細節?爲了添加到陣列中我使用:

$newarray=array("strat_id"=>$_POST['gridID']+1, "x_id"=>$_SESSION['xID'], "outcome_id"=>$_POST['cellID']+1, "date"=>time(), "status"=>$_POST['type'], "rank"=>1); 

數據庫我與得到的結果:

$result->fetch_array(MYSQLI_ASSOC) 

感謝。

+2

你有什麼問題想問我們嗎? – 2013-04-11 10:46:51

+0

引號是將該值標記爲一個字符串。如果沒有引號,該值將被解釋爲數字(int,long,float等) – 2013-04-11 10:49:23

+0

您是否希望它們是數字或字符串? – Passerby 2013-04-11 10:53:31

回答

1

爲了保持一致性,我該不該打擾這些細節?

這取決於你將如何使用它們。如果你只需要顯示,那很好;但是如果你需要做一些比較/計算(考慮到你有date值),最好將它們轉換爲數字。

您可以嘗試

$record[]=array_map("intval",$result->fetch_array(MYSQLI_ASSOC)); 

爲了讓每爲整數,也是後來

$record[]=array("strat_id"=>intval($_POST['gridID'])+1, 
    "x_id"=>$_SESSION['xID'], 
    "outcome_id"=>intval($_POST['cellID'])+1, 
    "date"=>time(), 
    "status"=>intval($_POST['type']), 
    "rank"=>1); 

所以要擁有一個具有每一個元素爲整數多維數組。