PHP关联数组引用

时间:2013-04-11 10:33:33

标签: php arrays associative quotations

我将数据库查询的结果逐行写入数组,然后我将自己的行添加到数组的最后一个索引。我使用Google开发人员工具查看数组的结果,如下所示:

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

“>” character表示我扩展索引的位置。索引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)

感谢。

1 个答案:

答案 0 :(得分: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);

所以要有一个多元数组,每个元素都是整数。