我希望以数组...
的形式将我的PHP值存储在db(mysql)中例如
$a=array{10,20,30,40};
我想将这个变量 $ a 以数组形式存储到数据库中,就像它使用索引存储在数组中一样。
为什么我想这样做,因为将来我可能不得不对数组值执行更新或删除操作..
我知道可以做这件事......但我不知道如何实现这个......
我搜索了这个主题,但我没有得到正确答案....
请建议我如何做这件事......
答案 0 :(得分:2)
为什么不在PHP中使用json_encode并将其存储在数据库中。这是最好的方式。
数组将被转换为字符串并将被存储。 检索数据并使用json_decode,然后根据您的需要开始工作。
示例:强>
<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>
输出:
{{a“:1,”b“:2,”c“:3,”d“:4,”e“:5 }
答案 1 :(得分:2)
您应该创建一个不同的 TABLE 来存储此类数据 由2列组成,对应的记录ID和实际数据。
所以,你的记录看起来像是
rid value
1 10
1 20
1 30
1 40
2 10
2 40
...
通过这种方式,您可以使用传统SQL例程对数组值执行更新或删除操作,以及根据数组值选择数据。
这就是现实世界中的事情,而不是PHP沙箱。
答案 2 :(得分:-1)
我会使用serialize / unserialize。您可以像这样使用它:
<?php
$a = array{10,20,30,40};
$a = serialize($a);
// your code here to send it to the mysql
?>
<?php
// your code here to collect it from mysql
$a = unserialize($mysql->str);
?>
MySQL中的字段应为TEXT或VARCHAR。
此致
BlackBonjour
答案 3 :(得分:-2)
您可以始终serialize您的数组然后将结果存储在VARCHAR
或TEXT
字段中,并且在获取后您可以unserialize字段。