PHP关联数组引用


PHP Associative Array Quotations

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

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是我手动添加的数据,当展开时,您可以看到值没有被引号包围(除了'status')。

为了保持一致性,我应该在这个细节上费心吗?为了添加到数组中,我使用:

$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)

谢谢。

为了保持一致性,我应该在这个细节上费心吗?

这取决于你如何使用它们。如果你只需要显示,那很好;但是如果你需要做一些比较/计算(考虑到你有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);

要有一个多维数组,每个元素都是整数