我希望将每个数组的每个元素存储到mysql数据库字段中。我该怎么做呢?
<?php
// primarily a method for storing data
// arrays are counted from 0
$hosts = array(
array("ronmexico.kainalopallo.com/", "beforename=$F_firstname%20$F_lastname&gender=$F_gender",
"Your Ron Mexico Name is ",
"/the ultimate disguise, is ([^<]+)<\/b><\/u>/s"),<u><b>([^<]+)<\/b><\/u>/s"),
array("rumandmonkey.com/widgets/toys/mormon/index.php",
"gender=$F_gender&firstname=$F_firstname&surname=$F_lastname",
"Your Mormon Name is ","/
My <p>My Mormon name is
<b>([^<]+)<\/b>!<br \/>/s")
);
return $hosts;
?>发布于 2010-12-23 04:08:24
您可以serialize该数组并将序列化的数组插入到数据库中。然后,我们将数据从数据库中提取出来,然后运行unserialize,它将转换回一个PHP数组。
更多信息:PHP: serialize
发布于 2010-12-23 04:11:05
如果您已经知道数组的键-值对和MySQL表的列之间的映射,那么可以尝试使用数组构建MySQL语句:
$sql = "insert into $table ";
foreach($arr as $key => $value) {
$sql .= "set $key = $value, ";
}
$sql .= ";";如果您有像array( array(1,2,3), array(4,5,6), array(7,8,9) );这样的数组结构
你知道for($arr as $key => $val)会给你像[1] => array(1,2,3)这样的东西
虽然我不认为你可以使用这种方法来保存任意深度的数组。如果你事先不知道数组结构有多深,或者它与数据库的关系如何,那么你可能应该保存一个序列化版本,就像mririgo说的那样。
https://stackoverflow.com/questions/4513228
复制相似问题