我曾使用爆破函数将数组的值插入DB。
$day1=implode(',',$day);
echo "day:".$day1;
$ day的数组值为{100,100};现在我将其更改为要插入表中的100,100字符串。因为我无法将数组直接存储到表中。如果有任何选择而不是implode()可以将数组加载到数据库中,请发布。 否则请帮助我使用哪种数据类型存储在DB中。由于逗号,我无法使用int。
答案 0 :(得分:1)
在使用MySQl的假设下,您应该使用TEXT数据类型,因为此数据类型不提供关于插入大小的假设。现在,当然,如果您要计算固定长度,可以随时使用varchar,但是由于数字的宽度未知,因此无论如何都必须进行总体计算。
https://dev.mysql.com/doc/refman/5.5/en/blob.html
将其存储为带有逗号分隔的数字的字符串是一种适当的存储格式,并且应该可以正常工作,因为您在处理数字时,在检索数据然后将值使用数组展开回数组时不会发生冲突。相同的逗号分隔符。
答案 1 :(得分:1)
implode()返回连接到单个字符串(http://php.net/manual/en/function.implode.php)的数组项。 您的数据库字段必须是文本类型(char,varchar,text)才能存储值。
答案 2 :(得分:0)
在这种情况下,您必须将数组转换为json并存储在db中。 例如:
$data=("a","b","c");
$json_encode=json_encode($data);
然后从数据库中检索出来后,转换回数组。
例如:
$json_decode=json_decode($data,true);
答案 3 :(得分:0)
$ array = array('lastname','email','phone');
$ comma_separated = implode(“,”,$ array);
echo $ comma_separated; //姓氏,电子邮件,电话
//使用空数组时为空字符串: var_dump(implode('hello',array())); //字符串(0)“”