重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
array2string函数 是phpcms自带的函数
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、雅安服务器托管、营销软件、网站建设、内黄网站维护、网站推广。
/phpcms/libs/functions/global.func.php 第293行
/**
* 将数组转换为字符串
*
* @param array $data 数组
* @param bool $isformdata 如果为0,则不使用new_stripslashes处理,可选参数,默认为1
* @return string 返回字符串,如果,data为空,则返回空
*/
function array2string($data, $isformdata = 1) {
if ($data == '')
return '';
if ($isformdata)
$data = new_stripslashes($data);
return addslashes(var_export($data, TRUE));
}
lxydjx 正解,我来详细补充一下吧。未经测试、、、
//初始化
$sql = array();
// 从 a.php POST 过来的值
$_POST["xinxi"] = "20-2,19-1,18-1";
// 拆分为 array("20-2", "19-1", "18-1");
$post_data = explode(",", $_POST["xinxi"]);
// 循环数组
for($i = 0; $i count($post_data); $i++) {
// 再次拆分每一条信息为 array("20", "2"), array("19", "1"), array("18", "1")
$details = explode("-", $post_data[$i]);
// 将每一条信息添加到 $sql 数组中
array_push($sql, "(20121015194535193356, ".$details[0].", ".$details[1].")");
}
// 用 , 连接,转换为 string
$sql = implode(",", $sql);
// 插入数据库
mysql_query("INSERT INTO table_sales (dingid, detailsid, buynumber) VALUES ($sql)");
把数组转成json或其他字符串在写入数据库,不转换字符串无法写入或自由Array,我是没试过,反正我知道是无法写入,我都是转成json后在写入。
?php
$array=array(
"data1"="data1",
"data2"=array(
"data22"="data22",
"data222"="data222"
),
"data3"="data3"
);
$encode=json_encode($array); //数据库写入转换
$addslashes=addslashes(json_encode($array)); //如果只用英文字符的话可以直接用上面,用中文或有带斜杠/,PHP写入数据库的时候会去掉斜杠/,所以addslashes函数在转换下写入
$decode=json_decode($array,true); //数据库读取转换
?
可以按照 ly4885806 的方法 序列化成字符串插入数据库,不过这个只能插入一个字段不循环
如果你的数据是需要插入多个行和字段的话只能循环了
$Array = Array ( [0] = Array ( [0] = 张三 [1] = 70 ) [1] = Array ( [0] = 李四 [1] = 80 ) [2] = Array ( [0] = 王五 [1] = 90 )
?
$in_value_arr = array();
foreach($Array as $key=$value){
foreach($value as $k=$v){
$in_value_arr[]="(**,**,**)";
}
$in_value = '('.implode('),(', $in_value_arr).')';
$sql = "INSERT INTO tbl_name (col1,col2) VALUES{$in_value};";
}
?