我想将每个数组的每个元素存储到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;
?>
答案 0 :(得分:0)
您可以serialize
数组并将序列化数组插入数据库。然后,我们从数据库中提取数据,运行unserialize
,它将变回PHP数组。
更多信息:PHP: serialize
答案 1 :(得分:0)
如果您已经知道Array的Key-Value配对和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
这样的序列化版本。